Swift Core Data: fetchBatchSize против fetchOffset - PullRequest
0 голосов
/ 31 августа 2018

Я новичок в программировании ios swift. У меня есть большой рабочий набор данных в моем приложении (основные данные), и я хочу ограничить его. Я сталкивался с двумя вариантами fetchBatchSize и fetchOffset.

В официальной документации оба предложения одинаково используются

fetchBatchSize Вы можете использовать эту функцию, чтобы ограничить рабочий набор данных в вашем приложение. В сочетании с fetchLimit вы можете создать поддиапазон произвольного набора результатов.

fetchOffset Это свойство может использоваться для ограничения рабочего набора данные. В сочетании с fetchLimit вы можете создать поддиапазон произвольный набор результатов.

Какая разница между двумя?

1 Ответ

0 голосов
/ 31 августа 2018

Допустим, у вас есть следующие объекты в Базовых данных - A, B, C, D, E, F, G

Если вы попытаетесь получить все объекты, которые вы получите [A, B, C, D, E, F, G]

Если вы установите fetchOffset из 2, вы получите [C, D, E, F, G], поэтому он будет получать все после указанного fetchOffset.

fetchBatchSize используется для того, чтобы Базовые данные не извлекали все объекты сразу, скажем, в этом примере вы установили fetchBatchSize равным 2, он получит первые два объекта, поэтому A and B и остальные будут ошибками, когда вы попытаетесь получить доступ к данным ядра C, вы получите ошибку и получите C and D.

Допустим, у вас есть 1000 имен, и вы перечисляете их в UITableView, вы можете показывать только 20 имен одновременно, имеет смысл установить fetchBatchSize на немного более высокое значение, чем на скрининге имен, так что если пользователь никогда не прокручивает Core Data например, выбирает только первые 30 объектов, как только пользователь прокручивает вниз Core Data будет получать следующие 30 и следующие 30 объектов ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...