コアデータを使用して、テーブルビューで行でアプリバッジ番号を設定します

StackOverflow https://stackoverflow.com/questions/3526919

質問

保存と取得にコアデータを使用するアプリを開発しています。

ここで、ホーム画面にアプリのアイコンにバッジ番号を追加したいのですが、いくつかの問題があります...
このコードを試しました:

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の後にデバッグを置いて、意味のあるものを取り戻していることを確認することもできます。

ゼロまたはゼロを返す場合、バッジは表示されません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top