从iCloud下载记录时显示进度百分比?

在我的应用程序中,我正在从iCloud中为recordType为“ Person”的人备份。为了获取记录,使用了CKQueryOperation,但是我想以进度百分比显示正在下载数据的进度条。 CKQueryOperation只是批量获取数据,但是没有任何进度跟踪。

///代码:获取行程记录

func fetchYourRecords(_ cursor: CKQueryOperation.Cursor? = nil,completionHandler handler: @escaping YourFetchCompletionHandler) -> Void{

    let p = NSPredicate(value: true)
    let q = CKQuery(recordType: "Person",predicate: p)
    let queryOperation = CKQueryOperation(query: q)
    queryOperation.qualityOfService = .userInitiated
    queryOperation.queuePriority = .high
    var result = [CKRecord]()
    queryOperation.recordFetchedBlock = { item in
        result.append(item)
    }

    queryOperation.resultsLimit = 2000
    queryOperation.queryCompletionBlock = { [weak self] (cursor : CKQueryOperation.Cursor!,error : Error!) in
        if cursor != nil {

            print("there is more data to fetch")
            let newOperation = CKQueryOperation(cursor: cursor)
            newOperation.recordFetchedBlock = {item in
                result.append(item)
            }

            newOperation.queryCompletionBlock = queryOperation.queryCompletionBlock
            self!.privateDatabase.add(newOperation)
        }
        handler(result,cursor)
    }

    privateDatabase.add(queryOperation)

}

我希望下载进度条从0%开始,然后转到100%,如该图所示

https://i.stack.imgur.com/P5OXU.png

sguidong 回答:从iCloud下载记录时显示进度百分比?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2841740.html

大家都在问