在objective-c中使用a有什么不同。那么使用->呢?我已经使用点符号很多次了,但只是刚刚接触到->
E.G
Object.subObject
or
Object->subObject
发布于 2012-06-14 09:14:37
myObject.myProperty
点既可以调用属性的getter/setter,也可以访问结构。
在本例中,subObject可能不是一个结构,所以使用myObject.myProperty
与调用[myObject myProperty]
方法是相同的,后者是"myProperty“属性的getter方法。
使用点设置新值时也是如此。您正在调用[myObject setMyProperty:newValue];
,它将执行为您的属性定义的适当内存管理(如保留、复制或赋值以及释放旧值)。
(使用getter和setter也会调用KVO的工作)
myObject->myProperty
箭头指向变量的内存。
这仅仅意味着您正在跟随指向myProperty
所在的内存的指针。这是较低级别的,不会为您做任何内存管理,也不会与KVO一起工作。
https://stackoverflow.com/questions/11029997
复制