gpt4 book ai didi

Swift 核心数据一次非常慢

转载 作者:行者123 更新时间:2023-11-30 10:27:48 25 4
gpt4 key购买 nike

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

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

我只是发现 ObjectTMP.init(... 在最新版本中需要时间,而在上一个版本中则不需要。我会进一步调查它

对此有何帮助。

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( ...

最佳答案

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

print("j:" + j.description)

当你加载大量数据时,它会减慢很多,因为你在那里有循环,我猜你添加这个“打印”语句是出于开发目的。

关于Swift 核心数据一次非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59786659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com