在网点前加下划线 In Xcode

Put underline before outlets In Xcode

为什么我必须在 IBOutlet 名称前加上下划线才能使用它们?即当我输入这个时:

myLabel.text = @"Hello World";

Xcode 说我

Put an underLine before outlet name

这意味着我必须改为输入:

_myLabel.text = @"Hello World";

为什么我必须这样做?

我使用 Xcode 6.3.2 和 Yosemite 10.10.1

这是因为您需要在实现文件的顶部使用@synthesize。下划线是一种快速或简短的书写方式 'self.'

如果你的 myLabel 是一个 属性 in self class 你可以使用 _myLabel 来避免 getter/setter 方法调用

根据您的属性声明,Xcode将自动合成具有相同名称和下划线前缀的ivar。您正在使用的名称没有简单的 var。所以这里是案例:

  1. 与下划线一起使用
  2. self.myLabel
  3. 一起使用
  4. 使用 @synthesize myLabel = someAnotherName; 或简单的 @synthesize myLabel; 来覆盖该行为