Objective c 带有+;0返回给调用方的保留计数,其中a+;预计为1(拥有)保留计数-为什么?
我在以下代码中遇到了问题,其中Xcode标记内存问题。警告位于代码下方的返回线上。有人知道为什么吗?我能做些什么Objective c 带有+;0返回给调用方的保留计数,其中a+;预计为1(拥有)保留计数-为什么?,objective-c,memory-management,memory-leaks,Objective C,Memory Management,Memory Leaks,我在以下代码中遇到了问题,其中Xcode标记内存问题。警告位于代码下方的返回线上。有人知道为什么吗?我能做些什么 - (id)copyWithZone:(NSZone *)zone { NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:self]; return [NSKeyedUnarchiver unarchiveObjectWithData:archivedData]; } mvvaria
- (id)copyWithZone:(NSZone *)zone
{
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:self];
return [NSKeyedUnarchiver unarchiveObjectWithData:archivedData];
}
mvvariable.m:177:2:将保留计数为+0的对象返回给调用者,调用者的保留计数应为+1(拥有者)mvvariable.m:177:9:方法返回一个带有+0保留计数的Objective-C对象
mvVariable.m:177:2:返回给调用方的对象的保留计数为+0
mvvariable.m:177:2:将保留计数为+0的对象返回给调用方,调用方预期的保留计数为+1(所有者) 以“copy”、“create”、“new”、“alloc”或“retain”开头的方法必须返回已保留的对象,即调用方必须释放该对象
[NSKeyedUnarchiver unarchiveObjectWithData:archivedData]
返回自动弹性对象
请参阅:以“复制”、“创建”、“新建”、“分配”或“保留”开头的方法必须返回已保留的对象,即调用者必须释放该对象
[NSKeyedUnarchiver unarchiveObjectWithData:archivedData]
返回自动弹性对象
请参阅:注意,使用存档复制对象肯定不是典型的做法。与通常的方法相比,它也非常慢。哦,哇,我没有意识到仅仅一个方法名就可以做到这一点,真奇怪。谢谢你的回答!在过去,这只是一种惯例,没有弧,也没有标记
\uuuuu strong
和\uuuu弱
,也没有的语法甜蜜性(\uu属性(ns\u返回自动删除))
。。。因此,我们必须以某种方式跟踪情况……请注意,使用归档来复制对象绝对不是典型的做法。与通常的方法相比,它也非常慢。哦,哇,我没有意识到仅仅一个方法名就可以做到这一点,真奇怪。谢谢你的回答!在过去,这只是一种惯例,没有弧,也没有标记\uuuuu strong
和\uuuu弱
,也没有的语法甜蜜性(\uu属性(ns\u返回自动删除))
。。。所以我们必须以某种方式跟踪事情。。。