0

在 Objective-c 中,使用 . 并使用 ->? 我已经多次使用点符号,但只是遇到过->

例如

Object.subObject

or

Object->subObject
4

1 回答 1

3

myObject.myProperty

点可以调用属性的 getter/setter 或访问结构。

在您的情况下, subObject 可能不是结构,因此 usingmyObject.myProperty与调用作为[myObject myProperty]“myProperty”属性的 getter 的方法相同。

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

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


myObject->myProperty

箭头指向变量的内存。

这仅仅意味着您正在跟踪指向内存所在myProperty位置的指针。这是较低级别的,不会为您做任何内存管理,也不适用于 KVO。

于 2012-06-14T09:14:37.257 回答