2011-12-19 20 views
0

これは私の状況です。私はObjective-Cで新しく、私は最初のコアデータサンプルを作成しようとしていますが、これは長すぎる時間を要しています。このコードでは、「ポイント」エンティティに「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 

コードをさコンパイルしてOKでseですエラーメッセージや警告メッセージは表示されませんが、挿入物はまだ動作していません。

+0

インサートが機能していないという結論にどうやって来ていますか?エンティティを取得する必要があります。フェッチを行うコードを表示できますか? – Jim

+0

SQLiteビューアアプリケーションでデータベースを調べて、データが挿入されているかどうかを確認することもできます。 – aslisabanci

+0

ご意見ありがとうございました。私たちは実際にコードを挿入しましたが、問題は私の取り込み方法でした。 –

答えて

0

は最終的に私は、この問題に対する答えを持って、私は私のアプリは、実際にデータを挿入して考え出したが、私のフェッチ方法は間違っていた、私は

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

代わりの

Points *p =(Points *) [NSEntityDescription EntityForName:@"Points" inManagedObjectContext:context]; 
ように私のエンティティオブジェクトを初期化しました
関連する問題