为什么我的实体对象没有插入数据?

时间:2011-12-19 17:49:57

标签: iphone objective-c cocoa-touch core-data

这是我的情况..我是Objective-C的新手,我正在尝试制作我的第一个核心数据样本但是我已经陷入了太多时间。代码应该在我的Points实体中插入一个名为“id”的属性。这是我的一段代码,我希望你们能帮助找出我所遗漏的或错误的。

location.m

-(IBAction)insert_click:(id)sender{                
    NSNumber* x = [NSNumber numberWithInt: 10]; 
    Msa_v3AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = [appDelegate managedObjectContext];
    Points *p =(Points *) [NSEntityDescription insertNewObjectForEntityForName:@"Points" inManagedObjectContext:context];  
    [p setId:x];    

    NSError *error;     
    if(![managedObjectContext save:&error]){        
        //handle error      
    } 
} 

**位置类是NSObject类

Points.h

@interface Points :  NSManagedObject  
{
}

@property (nonatomic, retain) NSNumber * id;

@end

Point.m

@implementation Points 

@dynamic id;

@end

代码编译好,并且没有发送错误或警告消息,但插入仍然无法正常工作..任何线索?

1 个答案:

答案 0 :(得分:0)

最后我得到了这个问题的答案,我发现我的应用程序实际上是插入数据,但我的提取方法是错误的,我正在初始化我的实体对象,如

    Points *p =(Points *) [NSEntityDescription insertNewObjectForEntityForName:@"Points" inManagedObjectContext:context];

而不是

    Points *p =(Points *) [NSEntityDescription EntityForName:@"Points" inManagedObjectContext:context];