-1

nuserdefaults テキストを保存するボタンを押すと、ボタンが次のビュー コントローラー (ビュー コントローラー 2) に移動します。次に、2 番目のコントローラーの UILabel がテキストを読み取ります。ただし、View Controller 2 の UILabel で nsuserdefault テキストを読み取るには、常にボタンを 2 回押す必要があります。2 番目のビュー コントローラーのナビゲーション タイトル バーは、ボタンを 2 回以上押さなくてもすぐに nsuserdefaults を読み取ることができるため、これは奇妙です。

ビューコントローラー 1

  NSString *calories = @"Test:1, 2, 3";
 [[NSUserDefaults standardUserDefaults]
  setObject:calories forKey:@"Text"];

ビューコントローラー2

 clabel=[[UILabel alloc] initWithFrame:CGRectMake(0,30, 320, 30)];
 clabel.text=[[NSUserDefaults standardUserDefaults]stringForKey:@"Text"];
 clabel.textColor=[UIColor blackColor];
 clabel.font = [UIFont fontWithName:@"Helvetica-Bold" size: 12.0];
 clabel.backgroundColor =[UIColor clearColor];
 clabel.adjustsFontSizeToFitWidth=YES;
 [self.view addSubview:clabel];
4

4 に答える 4

0

これを試してください:

[[NSUserDefaults standardUserDefaults]
  setValue:calories forKey:@"Text"];

それで

[[NSUserDefaults standardUserDefaults]ValueforKey:@"Text"];
于 2013-08-26T07:41:28.577 に答える
0

わかりました、なぜこれが私のナビゲーションバーでは機能していたのか、私の問題を理解しましたが、私の uilabel では機能していませんでした。ビューコントローラーを切り替えるコードの前に nsuserdefaults を追加する必要があります。

于 2013-08-25T17:45:11.647 に答える
-1

あなたはコード行の下に忘れられています。データを userdefaults に入れたら、同期を書き込む必要があります。

[userDefaults synchronize];
于 2013-08-26T09:29:28.920 に答える