gpt4 book ai didi

iphone - NSMutableArray 存在内存泄漏

转载 作者:行者123 更新时间:2023-11-29 04:27:58 24 4
gpt4 key购买 nike

我正在使用以下代码来创建 NSMutableArray。当我在“配置文件”模式下运行相同的内容时,它显示内存泄漏。

SampleArray.h

@interface SampleArray: NSObject {
}
@property (assign, retain) NSMutableArray *array;
@end

SampleArray.m

#import "SampleArray.h"
@implementation SampleArray
@synthesize array;
-(void) viewDidLoad {
self.array =[ [NSMutableArray alloc] init];
}

-(void) viewWillDisappear:(BOOL)animated {
[self.array release];
}
@end

当我使用自动释放时,我无法在其他函数或方法中访问相同的内容并返回空值。请帮我找出问题所在。

最佳答案

在 viewWilLDisappear 中释放这个数组不是一个好主意,你应该在 dealloc 函数中释放。您应该担心过度释放此项目并导致程序崩溃,因为在此 ViewController 的生命周期内 viewWilLDisappear 可能会被多次调用。

无论如何,您双重保留了该项目,因为您的属性对其进行了保留(并使其成为非原子的,而不是分配),将自动释放添加到您的分配/初始化中:

self.array =[[[NSMutableArray alloc] init] autorelease]; 

然后移动

[array release];

到你的dealloc函数。或者转换为 ARC,不再担心...

关于iphone - NSMutableArray 存在内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12076852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com