Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何设置TableView';有NSArrays字典的章节标题和编号?_Ios_Objective C_Uitableview_Nsarray_Nsdictionary - Fatal编程技术网

Ios 如何设置TableView';有NSArrays字典的章节标题和编号?

Ios 如何设置TableView';有NSArrays字典的章节标题和编号?,ios,objective-c,uitableview,nsarray,nsdictionary,Ios,Objective C,Uitableview,Nsarray,Nsdictionary,我有一本NSDictionary,里面有N个名称数组,所以自然总共有26个数组。我想用数组的键设置标题标题部分(A、B、C等),用数组的计数设置标题部分的编号。我可以通过使用块对每个数组进行枚举来获得它们的计数,但是如何在基于NSDictionary的TableView上设置这两个选项呢?有没有办法对NSDictionary进行排序,使结果按字母顺序排列 这是我的字典: @{ @"A" : @[@"Person One", @"Person Two", @"Perso

我有一本NSDictionary,里面有N个名称数组,所以自然总共有26个数组。我想用数组的键设置标题标题部分(A、B、C等),用数组的计数设置标题部分的编号。我可以通过使用块对每个数组进行枚举来获得它们的计数,但是如何在基于NSDictionary的TableView上设置这两个选项呢?有没有办法对NSDictionary进行排序,使结果按字母顺序排列

这是我的字典:

@{
    @"A" :  
        @[@"Person One", @"Person Two", @"Person Three"],
    @"B" :
        @[@"Person One", @"Person Two", @"Person Three", @"Person Four"],
    @"C" :
        @[@"Person One", @"Person Two"],
}
// etc
这是NSDictionary的NSLog:标题是否无序

A -- 23
B -- 78
G => 27
U => 1
H => 57
V => 6
I => 1
// etc

词典中的词条没有顺序。您可以做的是创建一个数组 在所有章节标题中,按字母顺序排序:

NSDictionary *dict = ...; // your dictionary
NSArray *sectionTitles = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];
那么节数是多少

[sectionTitles count]
对于给定的节号,标题和行数可以计算为

NSString *title = sectionTitles[section];
NSUInteger numRows = [dict[sectionTitles[section]] count];
最后,对于给定的索引路径,对应的项是

NSString *item = dict[sectionTitles[indexPath.section]][indexPath.row];

词典中的词条没有顺序。您可以做的是创建一个数组 在所有章节标题中,按字母顺序排序:

NSDictionary *dict = ...; // your dictionary
NSArray *sectionTitles = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)];
那么节数是多少

[sectionTitles count]
对于给定的节号,标题和行数可以计算为

NSString *title = sectionTitles[section];
NSUInteger numRows = [dict[sectionTitles[section]] count];
最后,对于给定的索引路径,对应的项是

NSString *item = dict[sectionTitles[indexPath.section]][indexPath.row];