我想返回一个包含三个对象的 NSMutableArray。这是我所拥有的:
NSMutableArray *output = [[NSMutableArray alloc] init];
NSString *a = [[NSString alloc] initWithFormat:@"%i",aa];
NSString *b = [[NSString alloc] initWithFormat:@"%i",bb];
NSString *c = [[NSString alloc] initWithFormat:@"%i",cc];
[output addObject:a];
[output addObject:b];
[output addObject:c];
return output;
但是我遇到了内存泄漏。怎么了?
最佳答案
第 1 期:
尝试这种方式,然后 NSString 将被释放。[NSString stringWithFormat:@"%@", aa];
还要注意格式占位符:
第二期:
并使用您的输出变量进行自动释放,因为函数中的最后一个操作是重置。
NSMutableArray *output = [[[NSMutableArray alloc] init] autorelease];
完整的片段:
NSMutableArray *output = [[[NSMutableArray alloc] init] autorelease];
NSString *a = [NSString stringWithFormat:@"%@", aa];
NSString *b = [NSString stringWithFormat:@"%@", bb];
NSString *c = [NSString stringWithFormat:@"%@", cc];
[output addObject:a];
[output addObject:b];
[output addObject:c];
return output;
干杯
关于iphone - Objective-C 返回一个数组 - 内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654536/