このオブジェクトのオブジェクトの名前はnameEN
であり、オブジェクトの名前は英語です。このオブジェクトが画面に表示されたとき、それは次のようである:すなわち数値を含むプロパティのローカライズされた説明によるオブジェクトの並べ替えによる並べ替え
NSLocalizedStringFromTable([myObject nameEN]);
は、名前は、NSLocalizedStringFromTable
を使用して局在しています。
私は配列上にこれらのオブジェクトがたくさんあり、その配列をローカライズされた名前でソートしたいと考えています。
問題はなど、オブジェクトがHouse 1
、House 2
... House 10
のような名前を持っているということです
私はこのコードを使用することをソートすると:
NSArray *sorted = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(MyOBject *p1, MyOBject *p2){
NSString *name1 = NSLocalizedStringFromTable([p1 nameEN], @"MyTable", nil);
NSString *name2 = NSLocalizedStringFromTable([p2 nameEN], @"MyTable", nil);
return [name1 localizedCompare:name2];
}];
は私が得るためにはHouse 1
、House 10
です、House 2
... 2の前に10、3の前に20など。
NSComparisonResult
を使用してこれを並べ替えるにはどうすればよいですか?
番号を切り捨て、 'NSNumber'または' NSInteger'に変換して番号でソートする必要があります。 – shallowThought