0

1st VC --> 2nd VC --> 3rd VC その後、1st VC <-- 3rd VC からポップバックします。

3 番目の VC で選択されたセルのテキストは NSUserDefaults に保存され、そのテキストを使用して 1 番目の VC の UIButton のテキストを埋めます。

問題は、UIButton のテキストが更新/変更されず、3 番目の VC から 1 番目の VC に戻ることです。テキストは、アプリを停止してから再実行したときにのみ更新されます (XCode シミュレーターで)。

そのため、テキストを NSUserDefaults に正しく保存していますが、最初の VC に戻ると、どういうわけか UIButton が更新されません。

最初の VC に戻ったときにその UIButton を更新する方法について何か助けはありますか?

-編集- 最初の VC のコード スニペット:

// Grab text from defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *teamNameOne = [defaults objectForKey:@"teamName1"];
// Set button Title
[buttonOne setTitle:teamNameOne forState:UIControlStateNormal]; 
4

2 に答える 2

1

これは NSUserDefaults の適切な使用法ではありません。アプリで渡す値を一時的に保持するためのものではありません。

これは、アンワインド セグエで行う必要があります。通常のフォワード セグエの場合と同様に、prepareForSegue メソッドでデータを VC1 に戻すことができます。また、VC1 (アンワインド セグエを接続するメソッド) には、そのコントローラーで UI を更新するために使用できるメソッドがあります。

于 2013-04-17T01:38:18.127 に答える