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