长期倾听者等我已经浏览了很多关于NSDictionary和NSArray的帖子,但我无法做到这一点,我希望得到一些澄清。
我有一个NSArray masterArray ,其中包含键 name,filename,fileObject
我希望在UITableViewCell的两个单独标签中显示名称和文件名。
目前我这样做(我已将所有内容都放在cellForRowAtIndexPath方法中用于此问题&#39)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"];
NSArray *namesArray = [NSArray arrayWithArray:[masterArray valueForKey:@"name"]];
NSArray *filenamesArray = [NSArray arrayWithArray:[masterArray valueForKey:@"fileName"]];
NSString *name = [namesArray objectAtIndex:indexPath.row];
NSString *filename = [imageNameArray objectAtIndex:indexPath.row];
cell.nameLabel.text = name;
cell.filenameLabel.text = filename;
return cell;
}
我的问题是 - 是否无法通过类似的请求访问NSArray(或NSDictionary);
NSString *name = [masterArray valueAtIndex:indexPath.row valueForKey:@"name"];
您是否必须将其拆分为较小的数组/ dicts并单独访问这些值,还是可以更优雅地执行此操作?
答案 0 :(得分:1)
您可以对iOS使用 OrderedDictionary 。这个第三方API的作用是它以索引格式将所有键/值对存储在NSDictionary中,即以NSArray的连续方式存储。 NSDictionary不以索引/有序方式存储值。这第三方词典呢。