0

是的,我知道人们已经安静地询问了一段时间。

我正在寻找有关如何使用@properties 将数据从一个视图控制器传递到另一个视图控制器的帮助。

我没有在此处发布代码,而是发布了一个免费的示例代码,您可以从打开的保管箱文件夹中获取该代码。

任何帮助表示赞赏,但请记住,我正在寻求帮助,但我没有使用故事板进行开发,所以我不能使用prepareForSeque.

网址:https ://www.dropbox.com/sh/l7xagtqqprcjqr2/gplHMvM2-O

4

1 回答 1

1

好的,所以,在 SecondViewController 中,您创建了一个 UserText UITextField - 实际发生的是:

  1. SecondViewController *SecondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
  2. SecondView.UserText = TextField.text;
  3. 调用 SecondViewController viewDidLoad,通过 IBOutlet 用正确的引用覆盖 UserText。

这几乎是人们不断犯的错误。初始化 viewcontroller 并不能保证 viewDidLoad 在你想要的时候被调用。

所以有几种方法可以做到这一点,

  1. 在 SecondViewController 中设置 NSString 属性
  2. 将文本传递给 SecondViewController 的 initWithNibName 方法,如下所示:

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil text:(NSString *) text

选项 2 需要 NSString 属性。您不能将文本分配给通过 IBOutlet 连接的 UILabel,这是因为在初始化视图控制器后不会立即调用 viewDidLoad。

于 2013-04-19T18:03:02.880 回答