可能重复:
self.ivar 和 ivar 之间的区别?
[self setVariable: newStuff]
在 Objective-C 中,和有什么区别variable = newStuff
?
当你有一个带有变量的类时
@property (nonatomic) NSInteger num;
你想改变变量,通常你可以做
[self setNum: newNum]
但你也可以
num = newNum
我知道如果你声明变量readOnly
,你不能使用第一种方法来改变它,但它背后的概念是什么?仅仅是因为可以在自己的类之外调用带有 setter 的第二种方法吗?就像类的实例被称为“样本”一样。
[sample setNum: newNum]
但是,如果您要更改类中的变量,那么任何一种方式都可以吗?