这行代码的作用是什么:
IBOutlet UITextField *userName;
答案 0 :(得分:6)
也许比更改日志更详细,但主要是因为我已经输入它,它可能有所帮助,它不能正确地作为评论格式化,不是因为我不同意他的答案:
IBOutlet
在代码术语中是无操作的。这样就声明了一个类型为UITextField *
且名称为userName
的实例变量,就像你只是输入一样:
UITextField *userName;
IBOutlet所做的是将成员变量标记为在Interface Builder(因此是IB)中用作出口。因此,当Interface Builder(或Xcode 4,因为现在已经集成了两个)解析你的类定义时,它知道将userName公开为可以连接到控件的东西。
答案 1 :(得分:1)
IBOutlet在Interface Builder中公开变量。
示例:转到Interface Builder,右键单击包含该行的类,您将看到一个元素userName
。与该类的其他成员不同,它的出现是因为它已使用IBOutlet
声明。如果从该元素拖动一行到UITextField
控件,则将对GUI元素执行对该变量的任何操作(例如:使用userName.text访问其内容)。
答案 2 :(得分:0)
这是userName属性与XIB文件连接的一部分。
它允许您以编程方式访问控件,在这种情况下,例如,更改/检索其文本。