未经我同意而发布的对象

时间:2010-12-27 15:09:10

标签: iphone objective-c

我正在重写一个应用程序,我无法解释自己这个错误:

我有一个名为“pieces”的NSMutableArray类“Player”。 当我从这个数组中删除我的第一个玩家的最后一个“Piece”对象(我有两个并且这个错误只发生在第一个)时,播放器对象被释放。

如果您对此错误有任何想法...... 如果你需要任何代码来理解我,我还在这里......

1 个答案:

答案 0 :(得分:2)

那是因为所有者属性可能实现为保留属性。

所以棋子拥有对玩家的参考,玩家不会被释放,直到你的最后一篇文章被释放。您可能会将您的播放器放在您不应该放置的位置,并将其保留在您不应该放置的位置(在片段对象中)。

将所有者属性替换为(非原子,分配)并跟踪释放播放器的位置。