【发布时间】:2017-05-11 13:51:15
【问题描述】:
有时我看到对象指针已设置,但没有分配或初始化它们。例如:
MyObject *object;
然后它会被赋值给一个值。我的猜测是这样更有效,或者是在需要之前不使用内存的好方法?
我找到了类似this one 的答案,但我没有太多 C++ 或 Java 的背景知识。如果那里有任何 Redditers,或者有人可以像我五岁一样解释,我会喜欢的。
【问题讨论】:
-
您链接的问题是针对 C++ 的,而不是针对 Objective-C 的。讨论并不完全适用于 Objective-C。
-
好的。我想你知道来自 C、C++ 的引用。您只是要将一个对象的引用分配给另一个对象。在 iOS 中,当且仅当至少一个引用可用时,对象才会在内存中。所以创建一个新的引用会将对象放入内存,直到你不释放它
-
您的问题的标题存在问题,这在尝试理解这一点时很重要。您引用的行 根本不是“声明一个 Objective-C 对象”。它正在定义一个变量,如果创建一个对象并将其地址分配给指针,则该变量可能指向这样的对象。 (非正式地,我们经常把指针当成对象来讨论,但它会让学习该主题的人感到困惑。)
标签: objective-c pointers object