Как: сообщить о ходе загрузки для операций CloudKit

Статья № 31 здесь намекает, что CKQueryOperation сообщает о ходе загрузки.

Глядя на API, я не понимаю, как это сделать. Я слепой?

Функция «добавить» CKDatabase и соглашения об именах, используемые повсюду, очень похожи на NSOperation и NSOperationQueue. Но, похоже, все спрятано.


person Community    schedule 04.03.2017    source источник


Ответы (1)


CKQueryOperation предоставляет блок выполнения для каждой записи, recordFetchedBlock. Я полагаю, что автор статьи, которую вы цитируете, предлагает вам обновлять там индикаторы прогресса каждый раз, когда вы получаете новую запись.

Проблема в том, какой тип обновления вы хотите предоставить? Если достаточно простого подсчета полученных записей, этот подход подходит. Если вы пытаетесь обновить процент на индикаторе выполнения, я не вижу, чтобы это работало, поскольку вы не знаете общее количество записей до последнего блока завершения. (если вы заранее не знаете ожидаемое количество записей, возможно, через кешированные данные)

person Thunk    schedule 04.03.2017