0
여기에 특정 속성을 편집하여 sqlite DB에 저장하는 코드가 있지만 DB에 변경 사항을 저장할 수 없습니다.핵심 데이터의 속성 편집
-(void)changeMemberKey
{
NSEntityDescription *entityDesc=[NSEntityDescription entityForName:@"Table1" inManagedObjectContext:context];
NSFetchRequest *request=[[NSFetchRequest alloc] init];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"(member_id=Null)"];
[request setPredicate:predicate];
[request setEntity:entityDesc];
Table1 *matches;
NSError *error;
NSArray *objects=[context executeFetchRequest:request error:&error];
NSLog(@"Object count===%d",[objects count]);
for(int i=0;i<[objects count];i++)
{
matches=[objects objectAtIndex:i];
Table1 *data=(Table1 *)matches;
NSLog(@"Data before===%@",data);
[data setValue:memberKey forKey:@"member_id"];
[context save:&error];
NSLog(@"Data after====%@",data);
data=nil;
}
entityDesc=nil;
request=nil;
matches=nil;
error=nil;
objects=nil;
}
NSLog (@ "데이터를 저장할 수 없습니다! 오류 : % @", [오류 설명]);'(context save : & error; . 그런 다음 당신이 성공했는지 여부를 볼 수 있습니다. 그렇지 않은 경우 질문을 편집하여 로그를 추가하십시오. – Kjuly
실제로 'for' 루프 다음에 데이터를 저장할 수 있습니다. :) – Kjuly
제안 해 주셔서 감사합니다. NSLog (@ "데이터를 저장할 수 없습니다! 오류 : % @", [오류 설명]); 하지만 오류가 없으면 컨텍스트가 저장되지만 데이터베이스에 반영되지 않습니다. – Mary