Tia*_*ago 1 memory-leaks memory-management objective-c
我遇到以下代码时出现问题,其中Xcode标记了内存问题.警告位于返回线上的代码下方.有人知道为什么,我能做些什么呢?
- (id)copyWithZone:(NSZone *)zone
{
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:self];
return [NSKeyedUnarchiver unarchiveObjectWithData:archivedData];
}
Run Code Online (Sandbox Code Playgroud)
Mvariable.m:177:2:具有+0保留计数的对象返回给调用者,其中预期+1(拥有)保留计数
Mvariable.m:177:9:Method返回具有+0保留计数的Objective-C对象
Mvariable.m:177:2:对象以+0保留计数返回给调用者
Mvariable.m:177:2:具有+0保留计数的对象返回给调用者,其中预期+1(拥有)保留计数
以"copy","create","new","alloc"或"retain"开头的方法必须返回一个已保留的对象,即调用者必须释放它.
[NSKeyedUnarchiver unarchiveObjectWithData:archivedData] 返回一个autorelased对象.
请参阅:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html