2012-02-27 5 views
1

데이터베이스를 유지 관리하기 위해 핵심 데이터 프레임 워크를 사용하는 응용 프로그램을 개발 중입니다. 내 엔티티에는 응용 프로그램 목록의 이름, 시작 시간 및 종료 시간이라는 세 가지 속성이 있습니다. 이름과 시작 시간 속성에 대한 올바른 값을 얻고 있습니다.
이제 내 문제는 내 끝 시간 속성에 다음 항목 시작 시간 값의 값이 포함되어야한다는 것입니다. 이 문제에 대해 어떤 생각이 든 사람이라면 알려주세요.핵심 데이터의 특정 속성 업데이트

감사합니다.

답변

0

다음 엔티티를 만들 때까지 endTime 속성을 공백으로 둘 수 있습니다. 엔티티의 + 작성 범주에서 마지막/첫 번째 오브젝트를 가져오고 (순서가 지정된 엔티티를 사용한다고 가정) 새 endTime에 사용 된 것과 동일한 값으로 endTime을 갱신하십시오.

개체를 주문하지 않으면 모든 개체가 집합에 들어 있기 때문에 약간 까다로울 수 있습니다. 하지만 주문하면 NSOrderedSet이 lastObject (및 firstObject)에 응답하기 때문에 좋다.

데미안에게,

편집을 즐기십시오 : 다음 중 1) 주식 기호에 대한 기존의 재고 엔티티를 반환 또는 2)에 해당 심볼에 대한 새로운 엔티티를 생성하는 예를 팩토리 메소드입니다. 엔티티를 가져오고 정렬 순서에 따라 처음/마지막을 선택하도록 매우 쉽게 수정됩니다. 다시 Hegarty 교수의 핵심 데이터 수업을 참조하십시오.

+ (Stock *)stockForSymbol:(NSString *)symbol inManagedObjectContext:(NSManagedObjectContext *)context { 
    Stock *stock = nil; 

    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Stock"]; 
    request.predicate = [NSPredicate predicateWithFormat:@"symbol = %@",symbol]; 
    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"symbol" ascending:YES]; 
    request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; 

    NSError *error = nil; 
    NSArray *matches = [context executeFetchRequest:request error:&error]; 

    if (!matches || [matches count] > 1) { 
     // handle error 
    } else if ([matches count] == 0) { 
     stock = [NSEntityDescription insertNewObjectForEntityForName:@"Stock" inManagedObjectContext:context]; 
     stock.symbol = symbol; 
     stock.strategyPosition = [NSNumber numberWithInt:StrategyPositionFlat]; 
     stock.userPosition = stock.strategyPosition; 
     stock.userOwns = [NSNumber numberWithBool:NO]; 
    } else { 
     stock = [matches lastObject]; 
    } 
    return stock; 
} 
+0

이렇게하면 관리 객체 컨텍스트의 인스턴스를 두 번 만들어야합니까? – NNR

+0

확실히 아닙니다 - 두 번째 파일을 만들 때 첫 번째 파일을 가져옵니다. 몇 분 안에 코드 예제를 첨부 하겠지만, 내가 배운 곳은 Paul Hegarty의 Stanford "iPad 및 iPhone 애플리케이션 개발"과정의 두 가지 핵심 데이터 클래스입니다. 이러한 강의는 매우 중요하며 핵심 데이터 엔티티의 카테고리 및 팩토리 메소드에 대해 모두 설명합니다. 나는 간단한 것을 게시 할 것이다. –

+0

대단히 감사합니다. – NNR

관련 문제