0

コアデータを使用してテーブルを更新するコードは次のとおりです

NSEntityDescription *entityDesc=[NSEntityDescription entityForName:@"UsageData" inManagedObjectContext:context];
NSFetchRequest *request=[[NSFetchRequest alloc] init];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"(member_id=Null)"];
[request setPredicate:predicate];
[request setEntity:entityDesc];
UsageData *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];
    UsageData *data=(UsageData *)matches;
    NSLog(@"Data before===%@",data);
    [data setMember_id:memberKey];

// [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;

この変更をデータベースにも保存したかったのですが、ログは正しいと思いますが、ローカルの sqlite データベースは更新されていません。前もって感謝します..

4

1 に答える 1

0

次のように、データをデータベースに保存しますか

 [document saveToURL:document.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:NULL];

?

于 2012-09-23T09:50:03.603 に答える