0

エンティティに属性を追加しようとすると、アプリが SIGABRT を受け取ります。

NSManagedObjectContext *context=[[HistoryDataManager sharedInstance] mainObjectContext];
    NSEntityDescription * entityDescription = [NSEntityDescription entityForName:@"Request" inManagedObjectContext:context];
    Request *request=[[[Request alloc] initWithEntity:entityDescription insertIntoManagedObjectContext:context] autorelease];
    NSLog(@"request: %@", request);
    request.requestText=string;
    request.timeStamp=[NSDate date];
    [context insertObject:request];
    NSError * error;  
    if (![context save:&error]) {  
        NSLog(@"Saving error  : %@", [error userInfo]);  
    }

Request という名前のエンティティと context!=nil がありますが、この場所で毎回 SIGABRT メッセージを受け取ります。

NSEntityDescription * entityDescription = [NSEntityDescription entityForName:@"Request" inManagedObjectContext:context];
4

2 に答える 2

0

ほとんどの場合context、ゼロです。nil 管理オブジェクト コンテキスト値を渡すと、通常はクラッシュが発生します。contextメソッドに値を渡す前に、値があることを確認してください。

エンティティ名も確認してください。

于 2011-11-03T19:57:17.547 に答える
-3

問題は DataManager シングルトンにありました。時間を無駄にして申し訳ありません。

于 2011-11-04T12:52:24.240 に答える