我有這個對象,它有一個名爲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
... 10前2,20前3等等。
如何使用NSComparisonResult
對此進行排序?
你必須切斷數字,將其轉換爲「NSNumber」或「NSInteger」並按數字排序。 – shallowThought