首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift核心数据一次非常慢

Swift核心数据一次非常慢
EN

Stack Overflow用户
提问于 2020-01-17 19:40:36
回答 2查看 117关注 0票数 0

我正在完成新版本的swift应用程序,我注意到从核心数据加载变得非常慢。同样的代码在上一版本的应用程序中运行得很好,但在新版本中却非常慢。代码如下,它是100%一样,在上一个版本,但现在我必须等待缓存5-6秒,缓存数据也是相同的,当测试新旧版本!

我已经为此浪费了几天时间,等待解决,这样我就可以发布更新的应用程序。我打印索引只是为了看看打印所有600个索引需要多少时间,在上一个版本中,它是最大的1秒,在新版本中,同样的代码大约5-6秒!

我只是发现ObjectTMP.init(.. )花时间在最新的版本中,而不是在上一个版本中。我会更深入地研究它

能帮上忙吗。

代码语言:javascript
复制
DispatchQueue.global(qos: .userInitiated).async {
    if #available(iOS 10.0, *) {
        // load

        //We need to create a context from this container
        let managedContext = self.appDelegate.persistentContainer.newBackgroundContext()

        //Prepare the request of type NSFetchRequest  for the entity
        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Cache")

        do {
            let result = try managedContext.fetch(fetchRequest)

             var j = 0

             for data in result as! [NSManagedObject] {
                 ...   
                 hash[String(Int(data.value(forKey: "id") as! String)] = ObjectTMP.init( ...
EN

回答 2

Stack Overflow用户

发布于 2020-01-17 20:41:06

如果你首先在模拟器或连接的设备上测试,你应该删除

代码语言:javascript
复制
print("j:" + j.description)

当你加载大量数据时,它会减慢它的速度,因为你在那里有循环,我猜你添加这个"print“语句是为了开发。

票数 0
EN

Stack Overflow用户

发布于 2020-01-18 03:35:28

CryptoSwift最新版本出现问题。我使用swift 4.2,对于那个版本,我应该使用<= 0.15 CryptoSwift,而我使用的是1.3。在0.15版本中,一切工作正常,不会有5-6秒的延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59786659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档