Я решил добавить атрибут NSNumber к одной из моих сущностей в основных данных. Я очистил код и удалил приложение из симулятора. Затем я добавил следующий код в мой appDelegate, и он говорит мне, что мой атрибут NSNumber не существует.
People *PeopleA = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:context];
PeopleA.name = @"Paul";
PeopleA.number = [NSNumber numberWithInt:12];
Атрибут name работает просто отлично, это было сделано раньше и всегда работает. Но когда он достигает PeopleA.number
, он падает с:
-[People setNumber:]: unrecognized selector sent to instance 0x4d5eeb0
Итак, я сделал po 0x4d5eeb0
и увидел, что есть атрибут имени, но не один для числа. Мой базовый класс данных должен быть хорошим, потому что я сделал, чтобы XCode сделал это для меня.
В чем может быть проблема?
Вот мой People.h
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Group;
@interface People : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) id image;
@property (nonatomic, retain) NSNumber * number;
@property (nonatomic, retain) Group * group;
@end
People.m
#import "People.h"
#import "Group.h"
@implementation People
@dynamic name;
@dynamic image;
@dynamic number;
@dynamic group;
@end
po 0x4d5eeb0 получает меня:
<People: 0x5932290> (entity: People; id: 0x59322f0 <x-coredata:///People/t83A9C7D9-4F7A-4189-9EC5-7695968A29552> ; data: {
group = nil;
name = Paul;