【发布时间】:2010-11-25 06:00:05
【问题描述】:
在下面的方法中,我不确定为什么释放其中一个数组会导致异常。我能看到的唯一原因是 componentsSeparatedByString 返回一个自动释放的数组,但我看不到文档提到它这样做。
-(void)addRow:(NSString *)stringWithNumbers;
{
NSArray *numbers = [stringWithNumbers componentsSeparatedByString:@" "];
NSMutableArray *row = [[NSMutableArray alloc] initWithCapacity:[numbers count]];
for (NSString *number in numbers) {
Number *n = [[Number alloc] initWithNumber:number];
[row addObject:n];
[n release];
}
[rows addObject:row];
[row release];
// [numbers release]; <-- leads to exception
}
任何人都可以确认该阵列是否是自动释放的吗?如果是这样,我怎么知道/为什么我应该知道?
是否可以通过代码检查对象的任何一个实例是否自动释放?
【问题讨论】:
标签: objective-c nsstring autorelease