最初のタブバーのナビゲーションコントローラを[firstTabBarViewController.navigationController popToRootViewControllerAnimated:NO]にポップする必要があります。
この問題は、最初のタブのビューコントローラへの参照が必要な場合のみ発生します。
ローカル通知を使用することもできます(前にこの方法を使用しました)。
最初のビューコントローラでは、viewDidLoadメソッドは通知を登録するために次の行を追加します。通知には、DatabaseChangedNotificationのような何かの名前を付けることができます。その後databaseHasChangedと呼ばれる新しい(空)メソッドを追加
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(databaeHasChanged:) name:@"DatabaseChangedNotification" object:nil];
、このメソッドは、通知が発生するたびに呼び出されます。次に、あなたのdeallocメソッドで次のコードを使用して通知の登録を解除してください
-(void)databaseHasChanged
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
::あなたのdatabaseHasChanged方法は、のようになるはずです
[[NSNotificationCenter defaultCenter] removeObserver:self];
上記のコードをセットアップ聞くとするあなたの最初のビューコントローラを意志DatabaseChangedNotificationを処理します。
これで、データベースを変更するコードを2番目のビューコントローラに追加するだけで済みます。データベースが変更された後だけで次のコードを使用してDatabaseChangedNotificationを発射:
[[NSNotificationCenter defaultCenter] postNotificationName:@"DatabaseChangedNotification"
object:nil];
おかげでそれは完璧に動作します – user968991