私は iOS の初心者で、あるタブから別のタブに文字列を渡し、UITabViewController
ラベルを使用して次のタブに表示する練習コードを書いています。メッセージを渡すコードは次のとおりです。
-(IBAction)sendMessage:(id)sender
{
MessageRecepientViewController * contoller = [self.tabBarController.viewControllers objectAtIndex:1];
[contoller passString:_textField.text];
self.tabBarController.selectedIndex = 1;
}
そして、私はここで(2番目のView Controllerで)テキストを次のように受け取ります:
-(void) passString:(NSString *) str
{
_string = str;
}
そしてviewDidAppear
、私はこれをやっています:
- (void) viewDidAppear:(BOOL)animated
{
self.textLabel.text = [NSString stringWithString:_string];
NSLog(@"did appear called, str = %@ and label text = %@", _string, self.textLabel.text);
}
ログは、文字列の値が渡されたテキストであることを示していますが、textLabel.text の値は常に null です。
UILabel がアウトレットに接続されていることを確認することから、viewWillAppear および viewDidLoad でコードを記述することまで、考えられるすべてを試しましたがtextLabel
、これまでのところ何も機能していません。文字列は正しい値を表示していますが、ラベルは更新されていません。ここで何が問題なのですか?