コアデータを使用して、テーブルビューで行でアプリバッジ番号を設定します
質問
保存と取得にコアデータを使用するアプリを開発しています。
ここで、ホーム画面にアプリのアイコンにバッジ番号を追加したいのですが、いくつかの問題があります...
このコードを試しました:
NSInteger section = [self.tableView numberOfSections];
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[sectionInfo numberOfObjects];
このコードは機能しませんが、これを行う方法がわかりません...
どのコードを書く必要がありますか? AppDelegateまたはrootViewControllerの内部?そして、どの方法で?
助けてくれてありがとう!
解決
NSInteger section = [self.tableView numberOfSections];
それは有効なセクション番号ではありません。それらは0から数字のセクション1に移動します。
他のヒント
NSInteger section = [[self tableView] numberOfSections];
これは1つ以上に戻ります。プラグインする価値ではありません [[[self fetchedResultsController] sections] objectAtIndex:section]
. 。セクションの総数ではなく、実際のセクション(ゼロ以上)を与える必要があります。
さらに、あなたはあなたの割り当てにブレークポイントを置くことができます sectionInfo
可変であり、あなたがnilに戻っていないことを確認してください。また、セクションInfoの後にデバッグを置いて、意味のあるものを取り戻していることを確認することもできます。
ゼロまたはゼロを返す場合、バッジは表示されません。
所属していません StackOverflow