Код: Выделить всё
func enumerateItems(for observer: NSFileProviderEnumerationObserver, startingAt page: NSFileProviderPage) {
self.fetchDataFromServer()
}
< /code>
У меня есть отдельная переменная, называемая PageNumber, которую я поддерживаю на каждом ответе API, и если текущие элементы ответа равны ожидаемому ответу элемента, то я увеличиваю номер страницы и перечисляю элементы, как показано ниже в делегате ответа API. < /p>
if arrItems.count < self.pagination.limit {
obsv.didEnumerate(arrItems)
obsv.finishEnumerating(upTo: nil)
self.observer = nil
} else {
self.currentPage += 1
let providerPage = NSFileProviderPage("\(currentPage)".data(using: .utf8)!)
obsv.didEnumerate(arrItems)
obsv.finishEnumerating(upTo: providerPage)
}
< /code>
До страницы 9, все работает нормально, и он загружает около 10 тыс. Файлов, но после этого файлы все еще есть, но это не называется метод перечислителя. />https://www.kodeco.com/697468-ios-file-provider-extension-tutorial
Кроме того, я проверил документацию Apple и некоторую пример кода, но я не уверен, каково использование этих двух методов.
func enumerateChanges(for observer: NSFileProviderChangeObserver, from anchor: NSFileProviderSyncAnchor) {
}
func currentSyncAnchor(completionHandler: @escaping (NSFileProviderSyncAnchor?) -> Void) {
let data = "\(self.anchor)".data(using: .utf8)
completionHandler(NSFileProviderSyncAnchor(data!))
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... s-in-swift