2012-10-20 5 views
0

내 응용 프로그램에서 핵심 데이터를 사용하려고합니다. 나는 "totalKM"속성을 저장하려고합니다.핵심 데이터 문제 - NSNumber를 저장할 수 없습니다.

Model *event = (Model *)[NSEntityDescription insertNewObjectForEntityForName:@"Model" inManagedObjectContext:managedObjectContext]; 
int number = 4; 
[event setTotalKM:[NSNumber numberWithDouble:number]]; 

나는이 사용하는 내 속성을 읽을 수 :

Model *event = (Model *)[NSEntityDescription insertNewObjectForEntityForName:@"Model" inManagedObjectContext:managedObjectContext]; 
NSNumber *number = [event totalKM]; 

내 속성 "totalKM은"항상 기본 값, O. 그리고 내가 가지고있는

나는이 선을 사용하여 내 속성을 저장하기 예외 없음. 내가 놓친 게 있니?

감사합니다.

답변

2

insertNewObjectForEntityForName이 방법은 모델을 컨텍스트에 적용하는 데 사용됩니다.

이것은 새로운 개체입니다.

올바른 방법은 다음과 같습니다 사용 가져 오기 가져 오기 2 필요

당신이 모델 폼 coredate.u을 얻을 필요가있을 때 진행을

객체 인출 새

Model *event = (Model *)[NSEntityDescription insertNewObjectForEntityForName:@"Model" inManagedObjectContext:managedObjectContext]; 

int number = 4; 

[event setTotalKM:[NSNumber numberWithDouble:number]]; 

//save change if need 
NSError *error = nil; 

if (![self.manageObjectContext save:&error]) { 
    NIDERROR(@"save managedContext error :%@",error); 
} 

설정

이 돔을 좋아합니다.

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init]; 
[fetchRequest setEntity:[NSEntityDescription entityForName:@"Board" 
            inManagedObjectContext:self.manageObjectContext]]; 
//set fetch conditions 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"board_id == %@", aBoardID]; 
[fetchRequest setPredicate:predicate]; 

NSError *error = nil; 

NSArray *results = [self.manageObjectContext executeFetchRequest:fetchRequest error:&error]; 

if (error) { 
    NIDERROR(@"fetch board error.\n board id: %@ \n error:%@", aBoardID, error); 
    return nil; 
} 

Model *model = results[0]; 

NSLog(@"%@",model.totalKM) 
관련 문제