Итак, моя модель CoreData на данный момент имеет одну сущность. Он имеет несколько атрибутов, для целей тестирования я установил эти атрибуты в методе applicationdidfinishlaunching. Как только я устанавливаю атрибут NSNumber (целое число 16 или число с плавающей точкой), он получает исключение EXC_BAD_ACCESS.
Строковые атрибуты работают и сохраняются, я проверил это с помощью fetch.
Если я установлю число Integer 16 равным 0, это не приведет к сбою, но я предполагаю, что это потому, что тогда ему присваивается ноль.
Основные данные NSManagedObject, созданные xcode:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface ReminderSchedule : NSManagedObject
@property (nonatomic, retain) NSNumber * intervalSize;
@property (nonatomic, retain) NSNumber * intervalType;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * quantity;
@property (nonatomic, retain) NSDate * startDate;
@property (nonatomic, retain) NSNumber * unit;
@end
Внутри приложения запущен метод запуска в приложении applelegate
ReminderSchedule *reminderSchedule;
reminderSchedule = [NSEntityDescription insertNewObjectForEntityForName:@"ReminderSchedule" inManagedObjectContext:self.managedObjectContext];
reminderSchedule.unit = 1; <==== EXC_BAD_ACCESS
reminderSchedule.quantity = 4.0f; <==== EXC_BAD_ACCESS
reminderSchedule.name = @"this works";
reminderSchedule.intervalType = 2; <==== EXC_BAD_ACCESS
reminderSchedule.intervalSize = 2; <==== EXC_BAD_ACCESS
[self.managedObjectContext save:nil]; //just for testing, never gets here