[SearchStockCell保留]:消息发送到解除分配的实例

时间:2016-02-22 08:26:49

标签: ios swift background realm retain-cycle

我收到以下错误:

ULONG

但是我很难跟踪这个问题,因为每当我使用僵尸进行配置文件时,它都会在没有任何警告或错误的情况下停止(2-3秒)。

enter image description here

我在这个项目中使用了realm,并且数据解析是在后台执行的。不确定这些信息是否相关。

还有其他方法可以追踪吗?或者我可以使用weak作为tableview单元格吗?

更新

SearchStockCell retain]: message sent to deallocated instance 0x7f9fa1922c00

.... ... ..

以下是SearchStockCell中发生的代码。 我将触发API以更新我的可见单元格(它将更新我的领域),稍后将通过KVO提示对SearchStockCell的更改。请注意,我无法再次重新加载表格,因为我需要保持tableview的位置,并且其中包含数千行数据。

2 个答案:

答案 0 :(得分:1)

从代码中猜测真的很难,但我会尽力看看答案 请找地方

    如果是,请检查属性是否强弱,
  • 已在某处使用SearchStockCell作为属性。彼此之间可能存在循环。
  • 检查您是否在块中使用SearchStockCell对象,如果是,请尝试将其用作弱对象。还要检查区块内完成的其他事情。
  • 您正在使用KVO,请检查观察者是否在内存不足。

我可以想到的最有可能的问题是在某个地方,你正在分配/使用SearchStockCell对象作为弱/强,因为ARC正在处理错误的保留计数。

答案 1 :(得分:0)

通过在这些表格单元格上添加和平衡KVO,您似乎非常难以理解这种情况。

您提到您不想重新加载表格,因为您将在滚动视图中丢失您的位置。您是否考虑过在重新加载之前只保存表格视图的滚动位置,然后再重新设置它?

作为旁注,Realm将很快推出一项功能来跟踪表格视图数据源上的插入/更新/删除,所以希望一旦这样做,你就可以在这里使用它(免责声明:我为之工作)境界)。