2010-12-19 11 views
0


私はoボタンとuilabelだけを含むモーダルビューを持っています。私は、このビューを作成し、今UILabelは初めて更新されません

- (IBAction) close { 
    [self dismissModalViewControllerAnimated:YES]; 
} 



ボタンは、モーダルvを閉じ、[OK]

nw = [[NewsViewController alloc] initWithNibName:@"NewsViewController" bundle:nil]; 
nw.modalInPopover = YES; 
nw.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

[nw setValues:@"asdasd"]; 

[self presentModalViewController:nw animated:YES]; 

すべてを。

正しく読み込まれますが、uilabelの値で正しいテキストラベルが表示されません。

どうすれば可能ですか?
第二の時間をクリックし、値が正しくsettedた...これはsetValuesのFUNCある

- (void) setValues:(NSString*)val { 
    [firstLabel setText:val]; 
} 

デバッグ、それが初めてのUILabel 0x0のを示して...これは問題ですが、それだ二度目正しく作成され、値が設定されます。

修正する方法はありますか?

alberto。

答えて

0

最初にsetValuesを呼び出すと、NewsViewControllerはまだそのビューをロードしていません。確認するには、[ns setValues:@"asdasd"];-[viewDidLoad]の方法の前にブレークポイントを設定してNewsViewControllerを設定します。

この問題を回避するには、テキストのインスタンス変数をNewsViewControllerに追加します。次にインスタンス変数を-[setValues:]に設定し、そのインスタンス変数から-[viewDidLoad]メソッドのラベルのテキストを設定します。

+0

はい、インスタンス変数が追加されました。これですべてOKです!ありがとう。 – elp

0

また、ビュー自体のロード終了までおそらくあなたは、viewDidLoadにラベルテキストを設定し、メインスレッド

dispatch_async(dispatch_get_main_queue(), ^{ 
     firstLabel.text = currentEventsString; 
}); 
1

上のテキストを設定することができます。

代わりにviewDidAppearまたはviewWillAppearを入力してください。

関連する問題