Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何解决此对象泄漏?_Iphone_Objective C_Xcode - Fatal编程技术网

Iphone 如何解决此对象泄漏?

Iphone 如何解决此对象泄漏?,iphone,objective-c,xcode,Iphone,Objective C,Xcode,根据图片,它报告了一个物体泄漏 如何解决此问题 就像alloc。。。每当你调用一个包含copy的方法时。。。按照惯例,您负责释放返回的任何对象。这就是我用图片的大小所能做到的。就像alloc。。。每当你调用一个包含copy的方法时。。。按照惯例,您负责释放返回的任何对象。这就是我用图片的大小所能做到的。不要使用[项目副本],你的故事集将保留项目副本,这将过度保留副本。直接将其添加到故事中,或者如果出于不变性的原因必须制作副本,请尝试[[item copy]autorelease]不要使用[ite

根据图片,它报告了一个物体泄漏 如何解决此问题


就像alloc。。。每当你调用一个包含copy的方法时。。。按照惯例,您负责释放返回的任何对象。这就是我用图片的大小所能做到的。

就像alloc。。。每当你调用一个包含copy的方法时。。。按照惯例,您负责释放返回的任何对象。这就是我用图片的大小所能做到的。

不要使用
[项目副本]
,你的
故事集将保留
项目
副本,这将过度保留副本。直接将其添加到
故事中
,或者如果出于不变性的原因必须制作副本,请尝试
[[item copy]autorelease]
不要使用
[item copy]
,您的
故事
集合将保留将过度保留副本的
项目
副本。直接将其添加到
故事中
,或者如果出于不可变的原因必须进行复制,请尝试
[[item copy]autorelease]

复制对象并将其添加到数组中而不减少其引用计数,这是一种泄漏。你应该改变

[stories addObject:[item copy]];
要么

[stories addObject:item];

取决于您是想要项目的副本,还是项目本身


另外,下次剪切并通过代码以使其可读。

您正在复制一个对象并将其添加到数组中,而不减少其引用计数,这是一种泄漏。你应该改变

[stories addObject:[item copy]];
要么

[stories addObject:item];

取决于您是想要项目的副本,还是项目本身


另外,下次请删除代码,使其可读。

这确实没有帮助。请试着更好地解释你的情况。你能把实际的代码剪切粘贴到你的问题中吗?打印屏幕不可读。这确实没有帮助。请试着更好地解释你的情况。你能把实际的代码剪切粘贴到你的问题中吗?打印屏幕不可读。感谢您的回复Louis Gerbarg感谢您的回复Louis Gerbarg