2013-07-25 60 views
2

我正嘗試使用NSSortDescriptor和Core Data對內部版本號/軟件版本(NSStrings)進行排序。構建號碼實際上只是NSStrings,但它似乎很難與此。我猜是因爲有多個不規則的小數點。使用NSSortDescriptor對內核數據排序內部版本號

例如,我想對以下內容進行排序。

1.7.6 
1.8 
1.6.2 
1.9.0.1 
2.0 

每行代表NSString

我該如何做到這一點,或者我應該嘗試另一種方式?

回答

6

使用localizedStandardCompare:應該產生預期的結果A排序描述符:

[NSSortDescriptor sortDescriptorWithKey:@"buildNumber" 
           ascending:YES 
           selector:@selector(localizedStandardCompare:)]; 

localizedStandardCompare:是「搜索狀」比較和字符串包含數字 根據它們的數值進行排序。