2010-04-26 36 views
2

我使用NSMutableArray綁定NStableView來連接文件名和其他文件詳細信息。 使用比較簡單地進行二進制和排序:沒有正確排序文件名稱,例如finder。 請讓我知道,如果我需要定義自定義選擇器分類文件名和如何?在TableColumn的如何正確排序文件名正如Finder中的objective-c

+0

定義正確的排序。 – 2010-04-26 07:19:31

+0

感謝您的幫助。似乎我已經使用自定義選擇器如下所示的文件名排序工作: // NSString類別的自定義比較 @interface NSString(FilesComparison) - (NSComparisonResult)compareFiles:(NSString *)file; @end @implementation的NSString(FilesComparison) - (NSComparisonResult)compareFiles:(的NSString *)文件{ \t回報[(的NSString *)自我比較:文件選項:NSCaseInsensitiveSearch | NSNumericSearch]。 } @end 再次感謝 – AmitSri 2010-04-26 08:40:09

回答

3

從Mac OS X 10.6開始只是用-[NSString localizedStandardCompare:]

對於較早的系統,請參閱Technical Q&A QA1159: Sorting Like the Finder

+0

感謝您花時間提供有價值的信息。 – AmitSri 2011-01-12 07:02:11

+0

我剛剛花了幾個小時試圖找到如何將文件排序爲Finder,我認爲這個信息將是有用的,因爲它不容易找到它:) – tig 2011-01-12 15:53:12

+1

鏈接已損壞。 – rmaddy 2017-10-27 18:39:24

2

使用自定義選擇屬性特別感謝KennyTM

// category on NSString for custom comparison 
@interface NSString (FilesComparison) 
- (NSComparisonResult)compareFiles:(NSString*)file; 
@end 
@implementation NSString (FilesComparison) 
- (NSComparisonResult)compareFiles:(NSString*)file { 
    return [(NSString *)self compare:file options: NSCaseInsensitiveSearch|NSNumericSearch]; 
} 
@end