Я получаю EXC_BAD_ACCESS в приведенном ниже операторе вставки, используя FMDB executeUpdate. Это происходит в bindObject toColumn в FMDatabase.
В операторе NSlog я получаю правильные значения, но оператор обновления взрывается. Не уверен, что я здесь делаю не так.
- (void) addSubject {
DrillDownAppAppDelegate *appDelegate = (DrillDownAppAppDelegate *)[[UIApplication sharedApplication] delegate];
FMDatabase *database = [FMDatabase databaseWithPath:appDelegate.getDBPath];
[database open];
NSLog(@"SUBJECT_ID/TITLE/CATEGORY_TITLE = %d / %@ / %@", self.subject_id, self.title, self.category_title);
[database executeUpdate:@"insert into SUBJECT (subject_id, subject, category) values(?, ?, ?)",
self.subject_id, self.title, self.category_title, nil];
[database close];
}
Я просмотрел код FMDatabase, и похоже, что первая переменная, subject_id - это бомбардируемая. Я попробовал оба сохранения как NSInteger, а также NSNumber, и оба дали тот же сбой.
Точная строка из базы данных FMD, где происходит сбой:
else if ([obj isKindOfClass:[NSData class]]) {
и он передает subject_id как NSInteger (или NSNumber) и выдает ошибку.