Я работаю над этой проблемой уже некоторое время, и я открыт для любых рекомендаций и советов.
Пример
Итак, я создал образецПриложение Core Data.Приложение в основном подражает приложению AddressBook.У меня есть следующие объекты: группа, контакт, адрес, телефон, электронная почта, веб-страница, даты.
Как вы, наверное, догадались, группа может иметь несколько контактов, а контакт может быть в нескольких группах.Контакты могут также иметь несколько адресов, телефонов, электронных писем, веб-страниц и дат.
Я в основном импортировал около 600 контактов в это приложение из AddressBook.Пользовательский интерфейс относительно прост ... список групп / категорий слева и NSCollectionView или NSTableView справа, который показывает список контактов в зависимости от выбранной группы. (Представление коллекции или представление таблицы ... как я добавилвозможность отображения любого вида, оба из которых связаны с NSArrayController)
Элементы группы, которые я извлекаю через код, а не Интерфейсный конструктор, потому что я хотел обойтись с Thing's-подобной боковой панелью, иэто было намного проще сделать таким образом.
Проблема
Одна из категорий содержит все контакты, в то время как другая категория содержит только 2 контакта.Когда я выбираю категорию, в которой есть все контакты, требуется 8-10 секунд, чтобы информация заполнила коллекцию или просмотр таблицы.Однако сделать то же самое в самой AddressBook очень быстро, почти мгновенно.Я использую тип хранилища SQLLite и пытался использовать несколько различных подходов, в том числе пытаться диагностировать проблему с помощью инструментов, но ничего не помогло.
Я попытался установить предикат в defaultFetchPredicate для контактаконтроллер массива в отличие от установки предиката фильтра, но это не сработало.
Я пробовал предварительную выборку и сбои, но я не уверен, правильно ли я это делаю, и не совсем уверен, как это сделатьесли Интерфейсный Разработчик обрабатывает NSArrayController Контакта.
Другой Пример
Я также попытался загрузить пример приложения Core Data ... хотя у него более простая модель отношенийчем то, что я сделал (в основном, у Молекулы есть объекты Atom, а у объекта Atom есть объекты Element), я вставил 65 000 записей, и это показалось мне очаровательным.* Я в основном врезался в стену, и мне интересно, знает ли кто-нибудь еще, почему это происходит, и лучшие способы исправить / преодолеть /избежать такого рода проблем?
Спасибо!