object-c的property有关注意事项

版权声明: https://blog.csdn.net/henysugar/article/details/84107576

自定义setter和getter,标识无效

property仅仅是为了帮你节省setter和getter两个函数,

通过指定atomic、strong之类的标识,xcode帮你自动生成相应不同的setter和getter函数。

所以,如果你自己写setter和getter,则atomic、strong之类的标识都毫无意义!

assign、retain、copy标识使用参考

assign : 简单的赋值,基本类型使用,例如int、float之类的,不涉及到引用计数的。

retain : 共享使用,或者说是引用,类似C++的引用(支持引用计数的那种),必须是类对象,例如对象1赋值给某retain的属性,则这属性等效于对象1,对此属性的操作就等效于对对象1的操作。

copy:赋值的时候,复制一份副本使用,跟赋值的对象再也没关系。例如对象1赋值给某copy的属性,后面此属性的修改不再影响对象1,相当于存在两个不同的实例。

property中的strong、weak?

在property的标识中,其实,strong等于retain,weak等于assign。

strong或者weak写了之后,就不要再写assign、retain、copy了,多余!


本文结束。

猜你喜欢

转载自blog.csdn.net/henysugar/article/details/84107576