UITableView Plist不返回valueForKey

我被困在实施一个UITableView分段plist的车辙。

我的plist设置如下。 我有一个包含代表段的字典的根数组。 这些字典有一个单独的字符串'sectionname',它指定了部分头部以及内部代表单元格的字典数组(这是为了允许单元格被计数并且仍然具有部分头部)。

Root - Array
   Item 0 - Dictionary  
       sectionname - string - A
       RowsInSection - Array
          Item 0  - Dictionary
             name - string - Adam
          Item 1 - Dictionary
             name - string - Andrew
   Item 1 - Dictionary
       sectionname - string - B
       RowsInSection - Array
          Item 0 - Dictionary
             name - string - Belle
          Item 1 - Dictionary
             name - string - Bob
   Item 3 - Dictionary

[等等]。

现在,一切似乎都正常,正确命名的标题在那里,正确的行数在它们的部分之下。 但是,这些行没有标签,对于我来说,我无法弄清楚为什么。

我有一个plist的NSMutableArray

    libraryContent = [[NSMutableArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:libraryPlist ofType:@"plist"]];

因此,节中的行数是。

NSInteger count = [[[[doa libraryContent] objectAtIndex:section] valueForKeyPath:@"RowsInSection.@count"]intValue];
return count;

还有标题的标题。

return [[[doa libraryContent] objectAtIndex:section] objectForKey:@"sectionname"];

我试着用下面的方法无济于事。

cell.textLabel.text = [[[doa libraryContent] objectAtIndex:indexPath.row] valueForKey:@"name"];

我还在学习,这是从不同的地方一起拙劣的。 'doa'方法链接到声明'libraryContent'的另一个文件。

你们有没有想法如何从plist中得名? 或者我想要做什么的其他方法?


试试这个代码:

cell.textLabel.text = [[[[[doa libraryContent] objectAtIndex:indexPath.section] objectForKey:@"RowsInSection"] objectAtIndex:indexPath.row] objectForKey:@"name"];

编辑
这样代码将更具可读性:

NSDistionary *sectionDataDict = [[doa libraryContent] objectAtIndex:indexPath.section];
NSArray *sectionRowsArray = [sectionDataDict objectForKey:@"RowsInSection"];
NSDictionary *rowDataDict = [sectionRowsArray objectAtIndex:indexPath.row];
cell.textLabel.text = [rowDataDict objectForKey:@"name"];
链接地址: http://www.djcxy.com/p/52417.html

上一篇: UITableView Plist Not Returning valueForKey

下一篇: Separating UITableView data into sections from one source