【发布时间】:2009-04-24 09:01:41
【问题描述】:
我想知道的是,它标志着一个属性“公共”。它会自动创建 setter 和 getter。但是当我没有那个时,我的属性是私有的吗?
这种“技术”叫什么名字?为什么“属性”前面有一个@?
【问题讨论】:
标签: objective-c
我想知道的是,它标志着一个属性“公共”。它会自动创建 setter 和 getter。但是当我没有那个时,我的属性是私有的吗?
这种“技术”叫什么名字?为什么“属性”前面有一个@?
【问题讨论】:
标签: objective-c
@property() type prop_name 只是一个信号给编译器创建两个方法:
-(类型)道具名称;
和
-(void) setPropName; // 不是为只读属性创建的
在 Objective-C 中,所有方法都是公开的。这就是为什么所有属性也是公开的
【讨论】:
我的理解是属性的@infront 使它成为编译器指令。它告诉编译器做一些事情。在这种情况下,它创建告诉编译器如何为成员变量创建 getter 和 setter 方法。您当然可以手动执行此操作,但这是为了让编译器可以为您执行此操作。
【讨论】: