2012-04-26 3 views

ответ

8

Я думаю, что вы, скорее всего, столкнетесь с ограничениями производительности на устройстве iOS, прежде чем вы нажмете ограничения на хранение в Core Data. Вы также получите удар по производительности, затягивая большие куски данных.

Вам лучше работать как в производительности, так и в управляемости, разбивая большие блоки текста на более мелкие куски.

Из того, что я помню, Маркус Зарра сказал мне в любом случае.

+0

+1 за ваше предложение –

3

Он не имеет предела, насколько я могу судить, если вы не назначили его в файле модели (имеется раздел для минимальной длины и максимальной длины).

+0

Спасибо, что то, что я думал, но получая некоторые сообщения об ошибках от пользователей, которые заставляли меня заново проверять и не могли найти никакой документации по этому вопросу. Я знаю параметры min/max для атрибутов в объектной модели. – adriaan

1

Я не помню, чтобы читать какие-либо ограничения в документах Core Data, но помните, что Core Data - это всего лишь фреймворк поверх реальной базы данных, обычно sqlite. Я думаю, что можно с уверенностью предположить, что ограничения продиктованы базовой БД.

+0

Это имеет смысл. Благодаря! – adriaan

4

Просто для подтверждения того, что в CoreData нет определенных ограничений (не считая ограничений на память/дисковое пространство). При использовании CoreData в iOS вы почти в каждом случае используете sqlite как постоянное хранилище. CoreData хранит String как Varchar и с точки зрения sqlite:

SQLite не применяет длину VARCHAR. Вы можете объявить VARCHAR (10), и SQLite будет счастлив сохранить там 500-миллионную строку символов. И он сохранит все 500 миллионов персонажей. Ваш контент никогда не усекается. SQLite понимает тип столбца «VARCHAR (N)», чтобы быть таким же, как «TEXT», независимо от значения N.

... взяты из sqlite's FAQ

Смежные вопросы