아이폰 앱을 쓰고 있습니다. 영구 저장소에 데이터를 저장해야하지만 문제가 발생합니다 ... xcdatamodel에서 엔터티를 만들었으며 내 특성에 대한 기본값을 가져 오는 데 문제가 없습니다. 필자의 테스트에서 아래의 코드를 몇 차례 살펴보고 응용 프로그램이 활성화되어있는 동안이 속성 (정수)을 변경할 수 있습니다. 그러나 닫고 응용 프로그램을 다시 열 때 내 정수 (myInt) 내가 그것을 업데이트 한 마지막 값이 될 것으로 예상했을 때 기본값으로 돌아갑니다. 여기 내가 뭐하는 거지입니다 : 그 라인을 기대했다영구 저장 iphone에 저장하는 데 문제가 있습니다.
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;
NSEntityDescription *myTestEntity = [NSEntityDescription
entityForName:@"TestEntity"
inManagedObjectContext:managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:timeStampEntity];
NSError *error = nil;
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (fetchedObjects == nil) {
// TODO: Handle the error
}
for (id oneObject in fetchedObjects)
{
NSInteger myInt = [[oneObject valueForKey:@"myStoredInt"]intValue];
myInt++;
[oneObject setValue:[NSNumber numberWithInt: myInt] forKey:@"myStoredInt"];
NSError *error = nil;
if (![managedObjectContext save:&error]) {//TODO: Handle error
}
}
[fetchRequest release];
:
if (![managedObjectContext save:&error])
이 일을하고 영구 저장소에 변경 사항을 저장하는 것입니다,하지만 그것을하지 않습니다! (for 루프 내부 또는 외부에이 줄이 있으면 결과가 바뀌지 않습니다.) 내가 뭘 잘못하고 있니?
도움 주셔서 감사합니다.
샤니을, 정말 감사합니다! 당신은 내 응용 프로그램 델리게이트에서 옳았습니다. 매번 객체를 시작했습니다. [NSEntityDescription insertNewObjectForEntityForName : @ "TestEntity inManagedObjectContext : managedObjectContext]; 초심자라고 말할 수 있습니다. 이 작업을 한 번만하고 싶습니다. 이미 수행했는지 어떻게 알 수 있습니까? 고마워요! – san
안녕하세요. 나는 나의 대답을 편집했다. – shannoga
이것은 Shani입니다! 내가 원했던 것처럼 작동합니다. 정말 고맙습니다. – san