NSMutableArray *m_res = [NSMutableArray arrayWithCapacity:ticks];
double t = lo_t;
while (t <= hi_t) {
[m_res addObject:[NSDecimalNumber decimalNumberWithDecimal:
[[NSNumber numberWithDouble:t] decimalValue]
]];
t += delta_t;
}
return [[NSArray arrayWithArray:m_res] retain];它应该返回一个包含一些值的持久NSArray。我计划在不再需要它的时候调用它的release。这是正常的,还是有一些bug,因为当我调用包含此代码的函数时,我的程序停止工作(这是内存问题,而不是无休止的循环)。
发布于 2011-03-25 19:38:50
代码是安全的(不会崩溃),但最后一行是错误的。arrayWithArray没有做任何有用的事情,而保留是一个漏洞。
它应该是
return m_res;如果你崩溃了,原因在别处。
https://stackoverflow.com/questions/5431261
复制相似问题