編輯:更新的代碼的NSDictionary
我試圖創建表部分,每部分內的字典,然後索引列表,使部分字母將是關鍵...對於部分我:
self.collation = [UILocalizedIndexedCollation currentCollation];
NSInteger index, sectionTitlesCount = [[collation sectionTitles] count];
NSMutableArray *newSectionsArray = [[NSMutableArray alloc] initWithCapacity:sectionTitlesCount];
NSString *alphabet = [[NSString alloc] initWithString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZ"];
for (index = 0; index < sectionTitlesCount; index++) {
NSMutableArray *array = [[NSMutableArray alloc] init];
[newSectionsArray addObject:array];
NSString *letter = [alphabet substringWithRange:NSMakeRange(index, 1)];
[myDict setObject:newSectionsArray forKey:letter];
[array release];
}
這與崩潰:
'*** -[NSCFString substringWithRange:]: Range or index out of bounds'
然後對每個字母我需要添加數據爲SE ction,我認爲這個數組可能是段/字母鍵的對象:
for (Data *myData in self.dataModel.datalist) {
NSInteger sectionNumber = [collation sectionForObject:myData collationStringSelector:@selector(myName)];
NSMutableArray *sectionData = [newSectionsArray objectAtIndex:sectionNumber];
[sectionData addObject:myData];
}
希望這是有道理的!謝謝!!!
說實話,這似乎簡單得多,該死的蘋果例子把我送上了晦澀的整理路線!該過濾的數組可用於篩選的搜索結果?非常感謝!!! – medley
Apple使用'UILocalizedIndexedCollation'演示的原因是因爲它有助於本地化。無論設備的當前語言如何,使用上述技術將始終提供英文字母。 –
好的,謝謝你的信息。這是Apple可以找到的索引桌面視圖的唯一演示。 – medley