1

インデックスに従ってソートされたコア データからデータをフェッチする

コア データ エンティティには、インデックス (1,2,3,4,5,6,7,......) を持つフィールド インデックスがあります。

そのインデックスに従ってコアデータからデータをフェッチしたいのですが、それができません

sortdescriptor を正しく設定できません

誰でもコードスニペットを手伝ってください

4

2 に答える 2

3

データを並べ替えるようにフェッチ リクエストに指示するには...

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"myEntity"];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"index" ascending:YES];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

フェッチすると、データはインデックス フィールドに従ってソートされます。

于 2012-07-11T17:56:18.933 に答える
0
/*!
@param <NSManagedObject> array 
@return <NSManagedObject> sortedarray
*/
+ (NSArray *) sortManagedObjectArrayByObjectID:(NSArray *) array {

    NSArray *compareResult = [array sortedArrayUsingComparator:^NSComparisonResult(NSManagedObject *obj1, NSManagedObject *obj2) {

        NSString *s = [obj1.objectID.URIRepresentation lastPathComponent];
        NSString *r = [obj2.objectID.URIRepresentation lastPathComponent];
        return [s compare:r];

    }];

    return compareResult;

}
于 2012-11-14T17:17:56.103 に答える