【发布时间】:2015-06-04 14:40:43
【问题描述】:
我有一个名为 LoginWindowViewController.h 的视图控制器,它声明了一个名为 usernameTextField 的属性:
@property (strong, nonatomic) IBOutlet UITextField *usernameTextField;
一个名为 James 的字符串与此 TextField 相关联。 然后我将另一个视图控制器 FirstViewController.h 导入到我的 LoginWindowViewController.m 中,我还将 LoginWindowViewController.h 导入到 FirstViewController.m 中。在我的 FirstViewController.h 中有一个名为 username 的属性。
@property (strong, nonatomic) IBOutlet NSString *userName;
然后我将 usernameTextField 分配给用户名(在我的 FirstViewController.m 中)。但是当我在我的 FirstViewController.m 中 NSlog 属性用户名时,它给出了一个空值。我该如何解决这个问题?
【问题讨论】:
-
为什么 NSString` 是
IBOutlet?另外,不清楚“导入”的东西。你什么时候登录?您如何准确记录?IBOutlet不应该是weak吗? -
不应该是可以从其他.m文件访问的IBOutlet吗?
-
我用#import "header file" 来导入的。
-
但是视图存在吗?你如何检查它的价值?我的猜测:你正在创建一个全新的对象。
-
是的,两个视图控制器都存在,我们只是将一个属性从一个视图控制器导入到另一个视图控制器,但它不会保留它的值。例如,我们在一个视图控制器中为 usernameTextField 分配一个字符串,但是当我们将属性导入另一个视图控制器并使用 NSLog 记录它的字符串,值变为 null
标签: ios objective-c xcode properties nsstring