Фильтрация элементов при чтении массива .plist в NSArray - PullRequest
0 голосов
/ 26 мая 2011

Первый пост - надеюсь, я все делаю правильно!

У меня есть файл lexicon.plist, содержащий массив из 250 тыс. Слов. Я хочу загрузить все слова длины 'n' в NSArray.

Я знаю о методе экземпляра NSArray:

  • (id) initWithContentsOfFile: (NSString *) aPath

но я не вижу способа вмешаться в процесс чтения файла в NSArray. Единственное решение, которое я вижу, это сначала загрузить весь словарь в один NSArray, а затем выполнить его в цикле, выбирая элементы длины 'n'.

Я очень новичок в Какао, но я сталкивался с некоторыми методами, которые выполняют некие итеративные задачи, которые принимают «блок» кода, который вызывается на каждой итерации. Мне было интересно, существует ли такой функциональный вариант initWithContentsOfFile или как я мог бы итеративно прочитать массив из файла .plist и отфильтровать интересующие меня элементы.

[И если вам интересно, может ли это быть причиной преждевременной оптимизации - это так ;-) Но я все же хотел бы знать.]

Ответы [ 2 ]

0 голосов
/ 26 мая 2011

.plist файлы в основном являются файлами XML, поэтому вы можете использовать NSXMLParser и отфильтровывать интересующие вас элементы.

0 голосов
/ 26 мая 2011

Если вы хотите загрузить отфильтрованный выбор сохраненных данных, вы должны использовать, например, SQL-репозиторий с использованием SQLite. Простые файлы могут быть полностью загружены только в память.

...