Расширение 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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