gpt4 book ai didi

objective-c - NSKeyedUnarchiver 内存泄漏

转载 作者:行者123 更新时间:2023-12-04 06:29:42 26 4
gpt4 key购买 nike

我有这个代码从文件加载一组属性,然后分配它。

NSMutableData* data = [NSData dataWithContentsOfFile:fullPath];
NSKeyedUnarchiver* unarc = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSMutableArray* loadedLibraries = [unarc decodeObjectForKey:@"libraries"];
IRStudyPlan* loadedStudyPlan = [unarc decodeObjectForKey:@"currentStudyPlan"];
NSMutableDictionary* loadedWordLists = [unarc decodeObjectForKey:@"wordLists"];
NSMutableDictionary* loadedStudyPlanList = [unarc decodeObjectForKey:@"studyPlanList"];
[unarc finishDecoding];
[self setLibraries:loadedLibraries];
[self setStudyPlanList:loadedStudyPlanList];
[self setCurrentStudyPlan:loadedStudyPlan];
[self setWordLists:loadedWordLists];
[unarc release];

我想知道为什么每个对象都有内存泄漏。我的 initWithCoder 就是这个,对于所有对象都相似:
-(id)initWithCoder:(NSCoder *)decoder{
if([super init]!=nil){
[self setListName:[decoder decodeObjectForKey:@"listName"]];
[self setWordsWithStatistics:[decoder decodeObjectForKey:@"wordsWithStatistics"]];
[self setWordsWithStatisticsInGame:[decoder decodeObjectForKey:@"wordsWithStatisticsInGame"]];
}
return self;

}

任何人都可以启发我吗?

非常感谢

最佳答案

仪器将显示泄漏内存的分配位置,在您的情况下来自 NSKeyedUnarchiver。最有可能的是,您正在泄漏包含此代码的对象。查看此代码来自的对象的生命周期。

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

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