這讓我感到困惑。我有一個做了這樣的功能:sortUsingSelector不排序NSStrings陣列
void ListAllStoredLocations(NSString *SearchTerm){
NSMutableDictionary *item;
NSString* filePath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingString:@"/Preferences/yourprogram.plist"];
item = [[[NSMutableDictionary alloc] initWithContentsOfFile:filePath] mutableCopy];
NSMutableArray *ReadStoredArray = [item objectForKey:SearchTerm];
NSMutableArray *SortedArray = [[NSMutableArray alloc] init];
NSString *[email protected]"";
for (int i = 0; i< [ReadStoredArray count]; i++){
CurrentResult=(NSString *)[ReadStoredArray objectAtIndex:i];
[SortedArray addObject:CurrentResult];
}
[SortedArray sortUsingSelector:@selector(compare:)];
for (int i = 0; i< [SortedArray count]; i++){
NSLog(@"%@",[SortedArray objectAtIndex:i]);
}
[item release];
}
指找到輸出NSString的第一對這樣的循環:
LOCATION1
LOCATION2
不是地點
LOCATION2
LOCATION3
LOCATION2
,我想輸出是按字母順序排列:
LOCATION1
LOCATION2
LOCATION2
LOCATION2
LOCATION3
不是一個位置
但是,無論怎樣, 「[SortedArray sortUsingSelector:@selector(比較:)]。」只是不排序數組。什麼都沒發生。
也許我在談論這一切都是錯誤的,但是我在網上看到的每一個例子都將NSStrings這樣排序 - 所以我不知道該怎麼做。
我的結局,如果有更好的解決方案,那就輸出最大重複條目的數量。我在想,分類將是朝這個方向邁出的一步。
真的,我正在尋找的是這樣的輸出:
LOCATION2
因爲 「LOCATION2」 已在該名單上最重複。
任何幫助?
查看'NSCountedSet'作爲找到模式(最常見的元素)的替代方法。 – benzado 2010-02-05 08:11:40