perform(_:inZoneWith:completionHandler:) 已弃用?或不? iOS 15

问题描述

在 iOS 15 的 Xcode 13 测试版中,我收到一条消息,指出 perform(_:inZoneWith:completionHandler:) (CloudKit) 在 iOS 15 中已弃用并重命名fetchRecords(matching:inZoneWith:desiredKeys:resultsLimit:completionHandler:) 但是...

  1. Apple Docs 网站未声明此方法已弃用:https://developer.apple.com/documentation/cloudkit/ckdatabase/1449127-perform

  2. Apple 展示了 iOS 15 的其他弃用(另一种方法):https://developer.apple.com/documentation/cloudkit/ckdatabase/3794331-records/

  3. fetchRecords(matching:inZoneWith:desiredKeys:resultsLimit:completionHandler:) 似乎不存在...还...(Value of type 'CKDatabase' has no member 'fetchRecords')

那么,这只是因为它是测试版的错误消息吗?我是否应该担心重写使用 perform(_:inZoneWith:completionHandler:)函数

这是我的函数,我尝试将其调整为 fetchRecords,但它不存在。我尝试将其调整为 fetch(withQuery:completionHandler:我有点迷失了它的工作..

(此功能只是从 iCloud 私人数据库删除记录):

        let container = CKContainer(identifier: "MyContainerNameHere")
        let recordtype = "dbname"
                
        //delete all saved icloud records
        let query = CKQuery(recordtype: recordtype,predicate: nspredicate(value: true))

        container.privateCloudDatabase.perform(query,inZoneWith: nil) { (rec,err) in
            if let err = err {
                print(err.localizedDescription)
                completion(.failure(err))
                return
            }
            guard let rec = rec else {
                completion(.failure(CloudKitHelperError.castFailure))
                return
            }
            
            for record in rec {
                container.privateCloudDatabase.delete(withRecordID: record.recordID) { (recordId,err) in
                    if let err = err {
                        print(err.localizedDescription)
                        completion(.failure(err))
                        return
                    }
                    guard recordId != nil else {
                        completion(.failure(CloudKitHelperError.recordIDFailure))
                        return
                    }
                }
            }
        }

任何见解表示赞赏..

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...