我有两个视图控制器,一个带有文本字段和一个'下一个'按钮和另一个只有标签的按钮。您的想法是在文本字段中填写您的姓名,然后点击“下一步”。然后它应切换到另一个视图,标签应显示您的名字。
但是,当我切换视图时,标签只是空的。我对Objective-C很新,我希望有人知道为什么会发生这种情况:)。
ViewController.m:
@interface ViewController () {
IBOutlet UILabel *label;
IBOutlet UITextField *textField;
}
-(IBAction)go:(id)sender
{
label.text = textField.text;
}
-(IBAction)remove:(id)sender {
[sender resignFirstResponder];
}
答案 0 :(得分:0)
你说你有两个视图控制器。第一个View Controller有一个UITextField实例和一个UIButton。您的第二个View Controller只有一个UILabel实例。
但是,我在你的代码中注意到ViewController.m,我假设它是你的第一个View Controller,有两个IBOutlets,一个用于UILabel,一个用于UITextField,这没有意义,因为UILabel应该是成为第二个View Controller的一部分。
您需要做的是从第一个View Controller中正确删除UILabel的IBOutlet。然后,在第二个视图控制器中,为它的UILabel添加IBOutlet。
然后,您需要在第一个View Controller中实现prepareForSegue方法,并添加如下代码语句:
[[segue destinationViewController]label].text = textField.text;
这样,当执行segue时,您将成功将第一个View Controller的文本字段文本传递给第二个View Controller的标签。