【发布时间】:2012-01-31 15:51:36
【问题描述】:
我知道以前有人从不同的角度问过这个问题。
但是,我还没有看到一个直接的答案,明确的对象是如何在 Objective-c 中传递的。经过一个月的目标 c 编码经验(来自 Java),我看到对象是按值传递的。
这是真的吗?
在我的代码中,我有一个 Person 类型的对象的 NSArray。我从 NSArray 中取出一个对象,对其进行编辑,然后看到 NSArray 中任何对象的值都不会受到影响,直到我调用 replaceObjectAtIndex: 方法。令我惊讶的是,这个场景向我展示了 Objective C 中的显式对象是按值传递的。
【问题讨论】:
-
不正确。所有对象实例都是引用(,指向对象的指针)。
-
如果你所有的引用都指向同一个内存位置,你描述的情况是不可能的。
标签: objective-c pointers reference