什么是东西之间的区别。还有什么东西 - 还有其他东西

时间:2012-06-14 09:11:53

标签: objective-c syntax

在Objective-c中,使用a之间的区别是什么。和使用 - >?我多次使用点符号,但只是偶然遇到 - >

E.G

Object.subObject

or

Object->subObject

1 个答案:

答案 0 :(得分:3)

myObject.myProperty

dot可以调用属性的getter / setter或访问struct。

在你的情况下,subObject可能不是一个struct,所以使用myObject.myProperty与调用方法[myObject myProperty]是相同的,它是“myProperty”属性的getter。

使用点设置新值时的方法相同。您正在调用[myObject setMyProperty:newValue];,它将执行为您的属性定义的适当内存管理(例如保留,复制或分配值以及释放旧值)。

(使用getter和setter也会调用KVO的工作)


myObject->myProperty

箭头指向变量的内存。

这只是意味着您正在关注指向myProperty所在内存的指针。这是较低级别,不会为您进行任何内存管理,也不适用于KVO。