【发布时间】:2017-10-29 18:16:30
【问题描述】:
我的解决方案不起作用 - 我使用领域将数据存储为数组并在 cellForRowAtIndexPath: 中重用此数组。
问题是我应该在后台线程中获取数据,但在主线程中填充表格。
注意:我已经读过,如果我在当前线程中获取领域数据,那么我只能在这个线程中使用它们。否则我应该为我需要的每个领域对象创建ThreadSafeReference,并在主线程中重用它。但我不明白该怎么做——这个例子是这样写的,他们在dispatch_async之前创建一个对象并在这个对象中使用它(比如将一个变量传递到代码块中)。
就我而言,我有一个单独的数组,我应该在cellForRowAtIndexPath(不是代码块)中存储和重用它并多次调用。我也不能用我需要的线程调用dispatch_async,因为单元格可能会变得无效。
如何解决这个问题?我应该手动缓存 Realm 对象吗?我接受 Swift 和 Objective-C 语言
【问题讨论】:
标签: objective-c swift multithreading uitableview realm