0
초기 객체가 생성되어 ManagedObjectContext에 삽입되고 컨텍스트가 저장됩니다. 이 객체는 CoreData 스택을 관리하는 싱글 톤 클래스의 속성으로 설정됩니다.초기 CoreData 객체의 유형이 잘못되었습니다.
이 원본 객체는 다른 클래스에서 참조 될 때 잘못된 유형 (NSCFString)입니다. 반면에, 객체가 페치되면 올바른 클래스이며 올바르게 작동합니다.
NSArray *pdaSetupRecords = [results fetchedObjects];
//If this is the initial launch of the application, create
//a PDASetup object and save the context, otherwise set
//pdaSetup to the fetched instance.
if ([pdaSetupRecords count] < 1) {
PDASetup *newPdaSetup = (PDASetup *) [NSEntityDescription insertNewObjectForEntityForName:@"PDASetup" inManagedObjectContext:managedObjectContext];
[self saveContext];
pdaSetup = newPdaSetup;
NSLog(@"SystemUtility - PDASetup object created and saved.");
} else {
pdaSetup = [pdaSetupRecords objectAtIndex:0];
}
볼 수있는 것처럼 하나의 PDASetup 객체가 있습니다. PDASetup 오브젝트가 작성 될 때 문제점이 발생합니다. 앱을 다시 실행하고 PDASetup 객체를 가져 오면 모든 것이 정상입니다.
의견이 있으십니까?
pdaSetup이 유지됩니다. –
다른 제안과 마찬가지로 self.pdaSetup을 설정하면 문제가 해결되었습니다. 나는 자기를 세우는 것이 변화를 가져 왔음을 깨닫지 못했다. –
내가 추측에서 맞을 때 나는 그것을 좋아한다. 메모리 관리 규칙을 다시 읽고 @properties를 사용해야한다. self. *는 속성에 'retain'을 사용하면 변수의 속성 접근 자/변형자를 호출하고 변수를 유지합니다. 또는 ARC를 사용하여 시작하십시오. – bandejapaisa