即時訪問:領域使用領域,以節省檢索從QR碼下面的數據不正確的線程斯威夫特
self.barcodesHandler = { barcodes in
if !self.dispatched {
self.dispatched = true
for barcode in barcodes {
print("Barcode found: type=" + barcode.type + " value=" + barcode.stringValue)
let barcodeStringArray = barcode.stringValue.components(separatedBy: ": ")
let infoVC = ANSProductDetailViewController()
self.product = ANSProductModel(name: barcodeStringArray[1], manufacturer: barcodeStringArray[2], registerLocation: barcodeStringArray[0], detailUrl: barcodeStringArray[3])
infoVC.product = self.product
DispatchQueue.main.async(execute: {
infoVC.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(infoVC, animated: true)
})
break
}
self.product.saveToLocal()
}
}
//ANSProductModel save method, self = ANSProductModel
func saveToLocal() {
Realm.execute { (realm) in
realm.add(self, update: true)
print("Product saved")
}
}
然而,打印日誌後,把它扔到了所謂的「境界不正確的線程斯威夫特訪問」異常。我已經閱讀了一些類似的問題,但仍然不清楚,所以請任何人都可以幫助我澄清這個問題,以及如何修復我的代碼。非常感謝
您需要在創建它的線程上調用Realm/managed RealmObject/managed RealmResults。 – EpicPandaForce