Я использую следующий код для получения нескольких объектов из хранилища SQLite (которое представляет собой подготовленный файл базы данных SQLite, созданный с помощью Core Data на рабочем столе):
NSFetchRequest * request = [[NSFetchRequest alloc] init];
[request setEntity: wordEntityDescription];
[request setPredicate: [NSPredicate predicateWithFormat: @"word = %@", searchText]];
NSError * error = [[NSError alloc] init];
NSArray * results = [[dao managedObjectContext] executeFetchRequest: request error: &error];
Кажется, что Eveyrthing настроен правильно, но executeFetchRequest: error: не удается глубоко внутри Core Data (в NSSQLCore _newRowsForFetchPlan: selectedBy: withArgument), что приводит к ошибке 256 для внешнего кода.
Единственный излом, который я имел при настройке managedObjectContext, это то, что мне пришлось указать опцию NSIgnorePersistentStoreVersioningOption для addPersistentStoreWithType, так как она постоянно выдавала ошибку 134100 (и да, я уверен, что мои модели просто идентичны: я повторно использовал модель из проекта который произвел файл SQL).
Есть идеи?
P.S. Не против стиля кода, это просто блокнот. И, конечно же, не стесняйтесь запрашивать любую дополнительную информацию. Было бы здорово, если бы кто-то мог помочь.
Обновление 1
Алекс Рейнольдс, спасибо за готовность помочь :)
Код (надеюсь, это то, что вы хотели увидеть):
NSEntityDescription * wordEntityDescription; //that's the declaration (Captain Obviousity :)
wordEntityDescription = [NSEntityDescription entityForName: @"Word" inManagedObjectContext: ctx];
Что касается предиката - не говоря уже о. Я вообще удалил предикат (чтобы просто захватить все записи), и это не имело никакого значения.
Опять же, тот же самый код прекрасно работает в настольном приложении, и это сводит меня с ума (конечно, мне нужно было бы добавить некоторые вещи для управления памятью, но, по крайней мере, он должен производить почти то же самое поведение, не так ли ?)