Core Data を使用してデータを保存および取得する iOS 用のアプリがあります。自然な並べ替え順序
で NSString 型のフィールドで並べ替えられたデータを取得するにはどうすればよいですか?
今のところ結果は次のとおりです。
100_title
10_title
1_title
私は欲しい:
1_title
10_title
100_title
Core Data を使用してデータを保存および取得する iOS 用のアプリがあります。自然な並べ替え順序
で NSString 型のフィールドで並べ替えられたデータを取得するにはどうすればよいですか?
今のところ結果は次のとおりです。
100_title
10_title
1_title
私は欲しい:
1_title
10_title
100_title
たとえば、Core Data fetch リクエストのソート記述子でlocalizedStandardCompare:をセレクターとして使用できます。
NSSortDescriptor *titleSort = [[NSSortDescriptor alloc] initWithKey:@"title"
ascending:YES
selector:@selector(localizedStandardCompare:)];
[fetchRequest setSortDescriptors:[titleSort]];
スウィフト 3:
let titleSort = NSSortDescriptor(key: "title",
ascending: true,
selector: #selector(NSString.localizedStandardCompare))
fetchRequest.sortDescriptors = [sortDescriptor]
またはそれ以上
let titleSort = NSSortDescriptor(key: #keyPath(Entity.title),
ascending: true,
selector: #selector(NSString.localizedStandardCompare))
fetchRequest.sortDescriptors = [sortDescriptor]
ここで、「Entity」は Core Data 管理オブジェクト サブクラスの名前です。