NSDate 형식의 OrderDate 속성이있는 NSManagedObject 파생 클래스 OrderMO가 있습니다. OrderDate의 기본값은 이미 주문이없는 첫 달의 첫 번째 월요일이됩니다.기존 NSManagedObject 값을 기반으로 NSManagedObject 파생 클래스의 기본값을 어떻게 설정할 수 있습니까?
- (void) awakeFromInsert
{
[super awakeFromInsert];
[self setValue:[self getNextOrderDate] forKey:@"OrderDate"];
}
사용자 정의 함수 getNextOrderDate 적절한 날짜를 계산하고 그것을 반환
내가 NSManagedObject의 awakeFromInsert 기능을 무시하고 같은 주문일의 값을 설정하고이 작업을 수행합니다. 문제는 getNextOrderDate가 awakeFromInsert 호출 중에 no-no 인 executeFetchRequest를 호출한다는 것입니다. this article에 설명 된 작업을 시도했지만 문제가 해결되지 않았습니다. 이 기사에서는 자체 performSelector를 호출하여 NSManagedObject를 초기화 할 때까지 executeFetchRequest 호출을 지연시키는 방법으로 문제를 해결합니다. 제 경우에는 2 개의 가비지 행을 얻습니다.내 주문 ArrayController를 하위 클래스로 분류하여 add 함수를 재정의 한 것으로 간주했지만 실제로 수행 할 작업을 알지 못합니다.
누군가가 동일한 개체 형식의 기존 NSManagedObjects를 기반으로 NSManagedObject 속성을 초기화하는 적절한 방법을 말해 줄 수 있습니까? 기존 배열의 값에 따라 달라지는 값을 가진 동일한 배열에 있습니까?