我是 iOS 的初学者,我正在编写一些练习代码,其中我试图将字符串从一个选项卡传递到另一个选项卡,UITabViewController
并使用标签在下一个选项卡中显示它。现在我传递消息的代码是:
-(IBAction)sendMessage:(id)sender
{
MessageRecepientViewController * contoller = [self.tabBarController.viewControllers objectAtIndex:1];
[contoller passString:_textField.text];
self.tabBarController.selectedIndex = 1;
}
我在这里(在第二个视图控制器中)收到的文本为:
-(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 的值始终为空。
我已经尝试了我能想到的一切,从检查 UILabel 是否连接到textLabel
插座到在 viewWillAppear 和 viewDidLoad 中编写代码,但到目前为止没有任何效果。字符串显示正确的值,但标签未更新。这里有什么问题?