这让我感到困惑。我有一个做了这样的功能: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