xcode - edit an attribute in core data -
here code edit particular attribute , save sqlite db can't save changes 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; }
try replace for
loop to
for(table1 * data in objects) data.member_id = memberkey; if (! [context save:&error]) nslog(@"couldn't save data! error:%@", [error description]);
not sure whether it'll work or not, take try. anyway, it's cleaner.
Comments
Post a Comment