2

carpartsを使用してデータベースから車をプルアップする次のコードがあります。ただし、重複が発生していたため、一意の結果でNSDictionaryResultsTypeを有効にしました(重複を取り除く唯一の方法だと思います)。

今、私は車のオブジェクトではなく、一連の辞書を持っていると信じています。結果に基づいて車のオブジェクトを取得するにはどうすればよいですか?

-(NSArray*) loadCarsFromCoreDataUsingCarParts:(NSMutableArray*)inputCarParts{
    NSLog(@"carParts =%@",inputCarParts);
    NSFetchRequest *fetchRequest =[[NSFetchRequest alloc]init];
    //To find the cars we are using the carParts
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Car" inManagedObjectContext:[self managedObjectContext]];

    //sets up fetch request details
    [fetchRequest setEntity:entity];
    [fetchRequest setPredicate:[self parseSearchObjectsIntoAPredicate:inputCarParts:3]];
    [fetchRequest setReturnsDistinctResults:YES];
    [fetchRequest setResultType:NSDictionaryResultType];

    //Perform fetch
    NSError *error;
    NSArray *records = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];
    return records;//i think this is an array of dictionaries
}
4

2 に答える 2

1

objectID次のような述語を使用してオブジェクトをフェッチおよび取得することもできます。

[NSPredicate predicateWithFormat:@"objectID IN %@", objectIDs]
于 2013-01-11T00:13:11.373 に答える
0

[NSManagedObject setValuesForKeysWithDictionary:]を使用できます

詳細:https ://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html

于 2013-01-10T19:57:15.217 に答える