我在我的iOS Swift项目中使用领域.搜索涉及大数据集的复杂过滤器.所以我在后台线程上获取记录.
但是,realm只能在创建Realm的同一个线程中使用.我正在保存在后台线程上搜索Realm后得到的结果的引用.该对象只能从同一个后台线程访问
如何确保在不同时间将代码分发到同一个线程?
我按照建议解决了这个问题,但是没有用
let realmQueue = DispatchQueue(label: "realm")
var orginalThread:Thread?
override func viewDidLoad() {
super.viewDidLoad()
realmQueue.async {
self.orginalThread = Thread.current
}
let deadlineTime = DispatchTime.now() + .seconds(2)
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
self.realmQueue.async {
print("realm queue after some time")
if self.orginalThread == Thread.current {
print("same thread")
}else {
print("other thread")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出是
realm queue after some time
other thread
Run Code Online (Sandbox Code Playgroud) 我无法安装Firebase iOS SDK(v3.2.0).我按照Firebase的说明进行操作,但它将安装旧版SDK v2.5.1
Podfile看起来像
platform :ios, '9.0'
target 'FireBaseTestApp' do
use_frameworks!
pod 'Firebase', '>= 2.5.1'
pod 'Firebase/Core'
end
Run Code Online (Sandbox Code Playgroud)
错误
[!]无法满足以下要求:
Firebase/Core 需要的 Podfile您的规范来源都没有包含满足依赖关系的规范:Firebase/Core.
您有:*可以更新的过期源代码库pod repo update.*错误输入了名称或版本.*未将承载Podspec的源代码添加到您的Podfile.