Iul*_*iei 4 memory iphone objective-c
我是ObjectiveC语言的新手.我无法理解内存管理语法.我的代码如下:
NSDate* someDate;
someDate=[[NSDate alloc] init];
loop
{
someDate=[[NSDate alloc] init];
}
Run Code Online (Sandbox Code Playgroud)
我会在这里发生内存泄漏吗?或者返回的NSDate对象是[autorelease]?
谢谢
正如@DavidKanarek所说,你会有泄漏.
有许多方法可以解决这些泄漏问题:
NSDate* someDate;
someDate=[NSDate date];
loop
{
someDate=[NSDate date];
}
Run Code Online (Sandbox Code Playgroud)
要么
NSDate* someDate=nil;
someDate=[[NSDate alloc] init];
loop
{
[someDate release];
someDate=[[NSDate alloc] init];
}
[someDate release];
Run Code Online (Sandbox Code Playgroud)
第一个是更容易阅读的代码,但第二个是尽可能降低内存使用率.如果你的循环不是太大,请使用第一个.如果你经历了数千次循环,我会使用第二次.
山姆
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |