使用带有数组的NSDictionary来填充UITableView

时间:2014-03-22 07:56:51

标签: ios uitableview nsarray nsdictionary

首先请原谅标题是否是正确的术语。我在这里搜索并搜索了这些问题,而且我没有找到与我的plist格式相关的解决方案。我试图实现以下代码,也许我错了。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"master" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
self.spots = [dict objectForKey:@"Rooms"];

这是我的plist的格式,理想情况下我想拉所有"房间"从这个列表到表格。

<plist version="1.0">
 <dict>
   <key>Rooms</key>
   <dict>
     <key>Basement</key>
     <array>
       <string>Stereo</string>
       <string>TV</string>
     </array>
     <key>Bathroom</key>
     <array>
       <string>Lights</string>
     </array>
     <key>BedRoom 1</key>
     <array>
       <string>Blinds</string>
       <string>Lights</string>
       <string>Stereo</string>
       <string>TV</string>
     </array>

我尝试使用[dict allKeys],只有在我更改了plist的格式后才会导致未排序的结果。我的问题应该很明显,我无法通过&#34;客房&#34;键并列出嵌套在字典中的键。这里有什么问题?我的代码?我的plist?我已经阅读了好几个小时,我想看一个相关的例子,如果有人觉得只是发布一个链接或说只是使用,我就能用简单的英语分开学习或解释.....

1 个答案:

答案 0 :(得分:0)

所以看一下你的代码,self.spots应该是一个房间词典。我想你问你怎么得到一个有序的键列表,这样你就可以按字母顺序显示它们?

NSArray * sortedKeys = [[self.spots allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

然后,您可以使用排序的键以正确的顺序访问词典