我想对从iOS领域读取的数据进行线程处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想对从iOS领域读取的数据进行线程处理相关的知识,希望对你有一定的参考价值。
[将数据从ios读取到领域并同时使用线程但是,“从错误的线程访问了领域”。发生错误您的代码有问题吗?
let realm = try! Realm()
let readData = realm.objects(DataRealm.self)
for i in 0...readData.count-1 {
DispatchQueue.global().async {
self.parsing()
}
}
答案
您不能跨线程使用Realm对象。这就是为什么您会收到此错误。但是您可以使用可以跨它们传递的引用。我不确定如何将其应用于您的代码,因为没有任何地方可以使用readData中的单个对象。但是您要搜索的内容可能是这样的:
let realm = try! Realm()
let readData = realm.objects(DataRealm.self)
for data in readData {
let readDataRef = ThreadSafeReference(to: data)
DispatchQueue.global().async {
self.parsing(readDataReference: readDataRef)
}
}
在您的parsing()方法中,您需要从引用中获取对象,然后:
let data = realm.resolve(readDataReference)
以上是关于我想对从iOS领域读取的数据进行线程处理的主要内容,如果未能解决你的问题,请参考以下文章