vir*_*ral 3 iphone cocoa objective-c ios
由于以下两个用途相同,
today = [[NSDate date] retain];
Run Code Online (Sandbox Code Playgroud)
和
today = [[NSDate alloc] init];
Run Code Online (Sandbox Code Playgroud)
那么它们之间的区别是什么?
这里有什么与内存分配方法有关或其他东西是相应使用它们的原因.
[NSDate date]是一个方便的构造函数,您可以使用它来释放对象自动释放池的头痛.向retain便捷构造函数发送消息[[NSDate date] retain]会使您成为对象的所有者,并且您有责任正确地释放它.
[[NSDate alloc] init]是您成为对象所有者的默认初始值设定项,几乎等于 [[NSDate date] retain].
两者之间实际上没有区别.在第一个例子中,你只是保留了一个由方便方法创建的自动释放的实例,它可以做类似的事情return [[[NSDate alloc] init] autorelease].
| 归档时间: |
|
| 查看次数: |
3313 次 |
| 最近记录: |