【发布时间】:2015-11-02 19:35:20
【问题描述】:
我正在尝试将 NSString (message) 从 ViewController(发件人)传递给 MyViewController(收件人)。
我在ViewController 中创建了一个名为testViewContoller 的MyViewController 实例,我通过它使用setTitle: 方法发送NSString:
MyViewController *testViewController = [[MyViewController alloc] init];
[testViewController setTitle:message];
这里是MyViewController.h:
- (void)setTitle:(NSString*)title;
这里是MyViewController.m:
- (void)setTitle:(NSString*)title {
_testField.text = title;
}
我不完全确定为什么这不起作用,但我认为这与 viewDidLoad 在调用 setTitle: 之前加载有关。
您能提供的任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
您必须使用情节提要实例化视图控制器
-
不知道不工作是什么意思。在 setTitle 方法中放置标题的 NSLog。
-
查找'prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender'
-
这种方法的问题是,当你初始化方法并调用方法“setTitle”时,_testField.text 是一个 UIKit 属性,直到 viewDidLoad 方法被执行后才被初始化和设置。您必须使用属性来设置标题,然后在 viewDidLoad 方法中使用该属性,如下所示 _textField.text = self.title;
标签: ios objective-c uiviewcontroller