访问对象的属性有三种不同的语法样式:

myProp = value;
self.myProp = value;
[self setMyProp: value];

这些纯粹是样式选择还是实质性区别?

最佳答案

self.myProp = value;


[self setMyProp: value];

是样式选择,因为它们使用访问器来设置值。也就是说,self.myProp本质上与调用[self setMyProp][self myProp]相同。它将实现您在@property标记中定义的任何机制(保留,根据需要释放等)。

然而,
myProp = value;

完全不同,因为它只是一项任务。不考虑释放myProp的原始指针,保留新值等。

10-05 22:58