核心数据更新方法令人困惑

时间:2013-02-27 14:31:12

标签: object core-data

我想为我的核心数据类实现更新方法,但是有问题。

-(BOOL)updateFromObject:(NSPredicate *)_find ToDesire:(NSPredicate *)_desire {

    NSFetchRequest *request = [[NSFetchRequest alloc]init];
    [request setEntity:entitydescription];
    [request setPredicate:_find];
    NSError *error = nil;
    NSArray *matchData = [context executeFetchRequest:request error:&error];
    if (matchData.count <=0) {
        NSLog(@"Nothing to do");
        return NO;
    }
    else {
        for (NSManagedObject *obj in matchData) {
            /*
            this is my problem
            how could i update my _desire to my object 
            */
        }
        [context save:&error];
        return YES;
    }
}

1 个答案:

答案 0 :(得分:0)

最后我做到了。

-(BOOL)updateFromObject:(NSPredicate *)_find withNewData:(NSDictionary *)_data {
    NSFetchRequest *request = [[NSFetchRequest alloc]init];
    [request setEntity:entitydescription];
    [request setPredicate:_find];
    NSError *error = nil;
    NSArray *matchData = [context executeFetchRequest:request error:&error];
    if (matchData.count <=0) {
        NSLog(@"Nothing to update");
        return NO;
    }
    else {
        for (NSManagedObject *obj in matchData) {
            //obj = [[NSManagedObject alloc]];
            [obj setValuesForKeysWithDictionary:_data];
        }
        [context save:&error];
        return YES;
    }
}