これはばかげているようですが、私はそれを整理することができないようです。プッシュ通知に応答してテーブルビューに行を挿入する必要があります。実装は次のように単純にする必要があります
- (void)didSaveMessage:(Message*)message atIndex:(int)index
{
//check to make sure I have an array to populate the table from...
if (self.messageManager.messages != nil)
{
self.indexRow = index;
NSLog(@"refresh table view from code");
//remove a label that says "You have no messages"...
[[messageTable tableFooterView] removeFromSuperview];
[messageTable beginUpdates];
[messageTable insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:index inSection:0]]
withRowAnimation:UITableViewRowAnimationFade];
[messageTable endUpdates];
[self scrollToNewestMessage];
}
}
このメソッドは、リモート通知を受信して起動したときに呼び出されます。ログステートメントが出力されます。ただし、UITableViewは更新されません。私にとって特に奇妙なのは、同じコードをIBActionに入れて、ストーリーボードの更新ボタンにリンクすると、機能することです。プログラムでUITableViewを更新するために私がしなければならない特別なことはありますか?