小编Ati*_*tif的帖子

如何确保在同一个后台线程上运行一些代码?

我在我的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)

thread-safety realm grand-central-dispatch ios swift

7
推荐指数
2
解决办法
812
查看次数

无法安装Firebase iOS SDK(v3.2.0)

我无法安装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.

ios cocoapods firebase swift

1
推荐指数
1
解决办法
741
查看次数