为什么我必须在IBOutlet
名称前加上下划线才能使用它们?即当我输入这个时:
myLabel.text = @"Hello World";
Xcode 说我
在插座名称前添加下划线
这意味着我必须改为输入:
_myLabel.text = @"Hello World";
为什么我必须这样做?
我使用 Xcode 6.3.2 和 Yosemite 10.10.1
为什么我必须在IBOutlet
名称前加上下划线才能使用它们?即当我输入这个时:
myLabel.text = @"Hello World";
Xcode 说我
在插座名称前添加下划线
这意味着我必须改为输入:
_myLabel.text = @"Hello World";
为什么我必须这样做?
我使用 Xcode 6.3.2 和 Yosemite 10.10.1
这是因为您需要在实现文件的顶部使用@synthesize。下划线是书写“self”的一种快速或简短的方式。
如果您的 myLabel 是 self 类中的属性,您可以使用 _myLabel 来避免调用 getter/setter 方法
根据您的属性声明,Xcode 将自动合成具有相同名称和下划线前缀的 ivar。您正在使用的名称是简单的 no var。所以这里是案例:
self.myLabel
@synthesize myLabel = someAnotherName;
或简单@synthesize myLabel;
覆盖该行为