gpt4 book ai didi

swift - CloudKit - 使用一种字段类型获取 5 条记录...需要 3-4 秒。为什么这么慢?

转载 作者:行者123 更新时间:2023-11-28 06:41:48 24 4
gpt4 key购买 nike

我有一个记录类型 - “DiningTypes”。 “DiningTypes 只有一个字段类型,它是一个字符串。我有 5 条记录......加载一个表需要 3-4 秒。怎么这么慢?我需要在一个以前的 Controller 有更快的 UI 响应时间?

import UIKit
import CloudKit

class table1: UITableViewController {

var categories: Array<CKRecord> = []
var fetchedcategories: Array<CKRecord> = []

override func viewDidLoad() {
super.viewDidLoad()
func fetchdiningtypes()

{
let container = CKContainer.defaultContainer()
let publicDatabase = container.publicCloudDatabase
let predicate = NSPredicate(value: true)

let query = CKQuery(recordType: "DiningTypes", predicate: predicate)


publicDatabase.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in
if (error != nil)
{
print("Error" + (error?.localizedDescription)!)
}
else
{
for result in results!
{
self.categories.append(result)
}

}
}

}
fetchdiningtypes()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return categories.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("dining") as! table1cell
let restaurant: CKRecord = categories[indexPath.row]
cell.Name.text = restaurant.valueForKey("Name") as? String

return cell
}
}

最佳答案

CloudKit 操作的默认服务质量是 NSQualityOfServiceUtility。如果请求运行时您的应用程序不在前台,您可能会看到操作比平时运行时间更长。

尝试使用 CKQueryOperation 并将其 qualityOfService 设置为 NSOperationQualityOfServiceUserInitiated

关于swift - CloudKit - 使用一种字段类型获取 5 条记录...需要 3-4 秒。为什么这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37778560/

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