iPhone RestKit загружает NSManagedObject вместо NSManagedObject + (ActiveRecord) - PullRequest
0 голосов
/ 06 марта 2012

Я потратил более 6 часов на эту проблему и действительно нуждаюсь в помощи.Пример RKCatalog, который у меня есть, прекрасно компилируется.Но когда я пытаюсь включить примеры в свой автономный проект, у меня возникают всевозможные проблемы:

Когда я запускаю пример из моего основного проекта, я получаю следующее исключение: 2012-03-06 11:18: 18.689 Трекер [1502: 707] + [Количество статей:]: нераспознанный селектор отправлен в класс 0xdaac4

Это говорит о том, что селектор отправляется в класс NSManagedObject, к которому не применена категория ActiveRecordк этому.Я просто не могу найти, куда поместить импорт NSManagedObject + (ActiveRecord), чтобы он работал.Я пробовал так же высоко, как заголовок префикса, но все равно не повезло.

Нужно ли импортировать библиотеки из проекта rest kit в основной проект и поместить их в «Фазы сборки> Связать бинарный файл с библиотеками»?Я сделал это и переместил библиотеки остальных наборов поверх обычных фреймворков.

Нужно ли включать базовую структуру данных, если я уже использую библиотеку основных данных из остального набора?У меня есть оба в «Связать двоичные файлы с библиотеками». Удаление данных ядра вызывает ошибки из библиотеки данных ядра остальных комплектов.

Нужно ли задавать пути поиска заголовка или библиотеки для папки остальных комплектов, если я ужеИмпорт библиотек из этого проекта? Я перепробовал несколько папок для производных данных и могу подтвердить, что там есть заголовки.

Я не могу добавить #import "RestKit.h" в заголовок префикса. Он говорит, что не можетнайти файл. Однако я могу добавить #import <RestKit/RestKit.h> или #import "RestKit/RestKit.h" Вот что сейчас в моем файле префикса:

#import <Availability.h>

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif



#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <RestKit/RestKit.h>
    #import <RestKit/CoreData/CoreData.h>
    #import "RestKit/CoreData/NSManagedObject+ActiveRecord.h"

#endif

Я знаю, что это должно быть что-то очень простое, но я продолжаю тратить на это часыи не вижу его. Проект RKCatalog работает без особых настроек. Что я делаю не так с настройками проекта?

Спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Это произошло до

Вызов метода для категории, включенной в статическую библиотеку iPhone, вызывает NSInvalidArgumentException

Существует "другой флаг компоновщика", который вам, вероятно, нужно установить: -all_load

0 голосов
/ 23 августа 2012

Я только что столкнулся с подобной проблемой в Xcode 4.2. Я предполагаю, что моя ситуация как-то отличается, и установка флагов не помогла, что помогло удалить исходный подкласс NSManagedObject (не категорию) и затем сгенерировать его заново из

YourModelName.xcdatamodeld> Редактор> Создать подкласс NSManagedObject

или

Файл> Создать> NSManagedObject subclass

...