В моем проекте я использую coredata. Один из объектов имеет атрибут с именем newTotal, в соответствующем ему классе NSManagedObject объявление свойства похоже на
@property (nonatomic, strong) NSString *newTotal;
Если я добавлю такое свойство в подкласс NSObject, XCode покажет ошибку, например
error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
Но в подклассах объектов NSManaged ошибка не отображается, но приложение вылетает при доступе к свойству, что-то вроде EXC_BAD_ACCESS.
Почему XCode не показывает ошибку, но приложение вылетает? Это ошибка с XCode/clang/LLVM?
Я знаю, что это что-то связанное с синтезом. Подклассы NSManagedObject не синтезируют свойство в нем, а директива @dynamic просто сообщает компилятору, что методы геттера и сеттера реализованы не самим классом, а где-то еще (например, в суперклассе или будут предоставлены во время выполнения). Но у меня нет четкого представления об этом. Может ли кто-нибудь дать четкое представление о проблеме?