ナビゲーションコントローラー階層にある5つのビューコントローラーがあります。最後のビュー コントローラーに到達すると、テーブル ビュー コントローラーである「ホーム」ビュー コントローラー (CardWalletViewController という名前) に戻るためのボタンがあります。前回の VC で使用した方法は次のとおりです ( PointsResultsVC
)
- (IBAction)homePressed:(id)sender {
NSArray *VCs = [self.navigationController viewControllers];
[self.navigationController popToViewController:[VCs objectAtIndex:0] animated:YES];
}
CardWalletVC のセルは、NSUserDefaults に保存されたカードのインスタンスからの値で満たされ、正常に動作します。
今、私がしたいのは、 my の値を更新することですCardWalletViewController
。これは、 my から来るカードのポイントですPointsResultsVC
。このポイントはNSUserDefault
s に保存されることに注意してください。
CardWalletVC に表示される値を更新しようとするプロセスで、上記のクラスの、、および -[self.tableView reloadData];
内に配置しました。この方法で1つずつ配置してみましたが、うまくいかないようです。-viewDidLoad
-viewWillAppear
viewDidAppear
アドバイスください。
編集:問題は解決しました
これは私のガイドとして機能しました あるタブからデータを保存し、別のタブでデータをリロードします。
そして、私が発見したよう-viewDidLoad
に、特定のクラスは、アプリの実行中に一度だけ呼び出されます。一方-viewWillAppear
、ビューが表示されるたびに呼び出されます。
そのため、NSUserDefaults に保存された値をロードする方法を から に移動し -viewDidLoad
ました-viewWillAppear
。また、中-viewWillAppear
に入れました[self.tableView reloadData]
。その後、問題は解決しました。