インデックスに従ってソートされたコア データからデータをフェッチする
コア データ エンティティには、インデックス (1,2,3,4,5,6,7,......) を持つフィールド インデックスがあります。
そのインデックスに従ってコアデータからデータをフェッチしたいのですが、それができません
sortdescriptor を正しく設定できません
誰でもコードスニペットを手伝ってください
データを並べ替えるようにフェッチ リクエストに指示するには...
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"myEntity"];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"index" ascending:YES];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
フェッチすると、データはインデックス フィールドに従ってソートされます。
/*!
@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;
}