나는 coredata에 매우 이상한 문제가 있습니다. ID가 관리되는 항목이 있고 간단한 NSNumber 인 동적 속성을 업데이트하려고합니다. 내 항목 클래스에, 항상 이렇게 : 나는 일부 데이터를 수신 한 후,CoreData NsManagedObject의 이상한 동작
[NSEntityDescription insertNewObjectForEntityForName:@"item"
inManagedObjectContext:[self getManagedObjetContextForCurrentThread]];
그럼 내가 안타를 업데이트
- (int) hits{
return [self.hitNS intValue];
}
- (void) setHits:(int)h{
self.hitNS=[NSNumber numberWithInt:h];
}
기본적으로, 나는이 방법으로 내 관리, 객체를 생성 섬기는 사람. CoreData는 항목을 업데이트 하더군요,하지만 난 다시 항목에 액세스 할 때 :
-(NSArray *) getStoredEntities:(NSString*)entity withPredicate:(NSPredicate*)predicate
{
NSManagedObjectContext *moc=[self getManagedObjetContextForCurrentThread];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:entity
inManagedObjectContext:moc]];
if (predicate)
[request setPredicate:predicate];
NSError *error = nil;
NSArray *fetchResults = [moc executeFetchRequest:request error:&error];
[request release];
return [fetchResults objectAtIndex:0];
}
Item *i=(Item*)[self getStoredEntity:@"Item"
withPredicate:[NSPredicate predicateWithFormat:@"(id==%@)", itemId]];
내 속성 item.hits이 새로운 값으로 설정되지 않습니다, 나는 이전을 얻는다.
나는 내 견해를 몰고있다. 내 앱을 죽이고 다시 시작하면 내 물건이 있고 잘 돌아 간다. y는 내 히트 카운트 업데이트하면, 나는 은 아니에요 캐시 있습니까 ... ...
그래서 나는 내 문제는 CoreData 내 객체의 첫 번째 삽입에 연결된 어떤 방법으로 생각 좋은 가치를 얻을 봄? 내 물건을 "무효화"하려면 뭔가해야합니까?
정말 도움이 될만한 도움이 될 것입니다.