【发布时间】:2015-11-03 11:34:17
【问题描述】:
我仍然对指针和内存管理有点困惑(从 ObjC 和 Cocoa 开始)。让我想到的是这段代码:
double seconds = [[NSDate date] timeIntervalSince1970];
这是我的理解:
- 我从 NSDate 类的调用方法/消息中获得浮点类型的值
- 这个值被存储在变量
seconds
我不明白我是在创建NSDate 对象(=NSDate 类的实例)吗?这个对象只是暂时的吗?
我一直认为创建一个对象并使对象持久化(至少在 ARC 介入或函数结束时它被销毁之前)的方法是创建一个指向它的指针。可能是这样的:
NSDate *now = [NSDate date];
[now timeIntervalSince1970] // get the value
这是否意味着在我的原始示例中,在堆上创建了一些未命名(没有变量指向它的变量)NSDate 实例,一旦它返回浮点值,它就会从堆中删除?
【问题讨论】:
标签: objective-c memory-management heap-memory