Симпериум и удобство

Я использую Simperium и Mogenerator в моем проекте. Я добавил сущность SPManagedObject в модель и установил ее как родительский класс для других сущностей. Для каждого объекта mogenerator автоматически создает файл _.h и _.m, который имеет несколько удобных методов доступа. Я изменил скрипт сборки mogenerator, чтобы каждый из этих подклассов SPManagedObject вместо NSManagedObject. Классы сущностей просто импортируют соответствующий файл _.h.

Моя проблема в том, что я получаю ошибки времени выполнения при использовании любого из вспомогательных средств доступа. Например, для объекта с атрибутом типа Integer32, называемого myInteger, свойство файла класса - NSNumber. Mogenerator создает метод доступа с именем myIntegerValue. Ошибки, которые я получаю, состоят в том, что myIntegerValue является нераспознанным селектором для SPManagedObject. Я могу обойти это, очевидно, но это, кажется, указывает на большую проблему. Есть идеи? Спасибо!

1 ответ

Проблема такого рода чаще всего является результатом того, что не удалось настроить имя класса в редакторе модели базовых данных. Вы можете иметь класс Foo и сущность Foo но они не объединяются автоматически (им не обязательно иметь одно и то же имя). Если вы этого не сделаете, вы получите экземпляры NSManagedObject вместо экземпляров вашего подкласса. И, конечно же, NSManagedObject не имеет этих методов.

Выберите объект в редакторе моделей и посмотрите в инспекторе моделей справа. Убедитесь, что имя класса настроено.

введите описание изображения здесь

Другие вопросы по тегам