访问对象的属性有三种不同的语法样式:
myProp = value;
self.myProp = value;
[self setMyProp: value];
这些纯粹是样式选择还是实质性区别?
最佳答案
self.myProp = value;
和
[self setMyProp: value];
是样式选择,因为它们使用访问器来设置值。也就是说,
self.myProp
本质上与调用[self setMyProp]
或[self myProp]
相同。它将实现您在@property
标记中定义的任何机制(保留,根据需要释放等)。然而,
myProp = value;
完全不同,因为它只是一项任务。不考虑释放
myProp
的原始指针,保留新值等。