Расширение FileProvider с страницей застряло с 10 тысячами в Swift iOSIOS

Программируем под IOS
Anonymous
Расширение FileProvider с страницей застряло с 10 тысячами в Swift iOS

Сообщение Anonymous »

Я работаю над расширением поставщика файлов в Swift iOS, и я могу загрузить все данные в вызов API, но это вызывает проблему с памятью, и приложение сбоя. Чтобы решить эту проблему, я пытаюсь добавить страницу в тот же код, и в какой -то момент она работает нормально, но после загрузки файлов 10K она вообще не вызывает метод перечисления. < /P>

Код: Выделить всё

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

Вернуться в «IOS»