Iphone 如何使用NSDictionary值填充UITableViewCell文本标签?
我正处于为快速滚动设置索引Uitableview的最后阶段,一旦完成,我将写下我的经验,希望能帮助任何试图获得与我相同结果的人。 但是,我还有最后一个步骤将NSDictionary值传递到tableviewcells textlabels中。。我只是不知道怎么做,希望有人能给我举个例子 这就是我的字典的样子Iphone 如何使用NSDictionary值填充UITableViewCell文本标签?,iphone,ios,uitableview,nsdictionary,Iphone,Ios,Uitableview,Nsdictionary,我正处于为快速滚动设置索引Uitableview的最后阶段,一旦完成,我将写下我的经验,希望能帮助任何试图获得与我相同结果的人。 但是,我还有最后一个步骤将NSDictionary值传递到tableviewcells textlabels中。。我只是不知道怎么做,希望有人能给我举个例子 这就是我的字典的样子 Dictionary: { H = ( Honda, Honda, Honda, Honda,
Dictionary: {
H = (
Honda,
Honda,
Honda,
Honda,
Honda,
Honda,
Honda
);
M = (
Mazda,
Mazda,
Mitsubishi,
Mitsubishi,
Mitsubishi,
Mitsubishi,
Mitsubishi,
Mitsubishi
);
N = (
Nissan,
Nissan,
Nissan,
Nissan,
Nissan,
Nissan,
Nissan
);
T = (
Toyota,
Toyota,
Toyota
);
我尝试了一些随机的事情,但对于将NSDictionary传递给uitableview,我几乎一无所知。。。以下是我在tableView中尝试的内容:cellForRowAtIndexPath:
//..
[[cell textLabel] setText:[[arraysByLetter objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]];
return cell;
//..
arraysByLetter是我的字典
代码行给了我这个警告
“NSMutableDictionary”可能不响应“objectAtIndex:”
任何帮助都将不胜感激
更新::
我发现了一个很好的例子,说明了如何使用这样创建的NSString填充uitableview单元格textlabel
NSString *value = [arraysByLetter objectForKey:[[arraysByLetter allKeys] objectAtIndex:indexPath.row]];
cell.textLabel.text = value;
arraysByLetter是我的分类NSDictionary,但是这会导致程序接收到一个信号“EXC\u BAD\u ACCESS”不确定原因,但尝试处理它。您正在使用字典上的数组方法调用。在字典中,通过使用与该对象(成员)关联的键来获取其成员。在数组中,通过使用数组中的索引获取数组的成员
您正在使用需要键的索引。您似乎混淆了
NSMutableDictionary
和NSMutableArray
。前者通过key
s(通常是NSString
s)访问对象,后者通过nsuigers
访问对象
例如,如果dict
是一个NSMutableDictionary
,那么您可以调用
[dict objectForKey:@"myKey"];
[array objectAtIndex:0];
如果array
是NSMutableDictionary
,则可以调用
[dict objectForKey:@"myKey"];
[array objectAtIndex:0];
对于您给出的示例,您有一个NSDictionary
,其中objectForKey:
是一个NSArray
。因此,您应该调用类似
[[dict objectForKey:@"H"] objectAtIndex:0];
输出“本田”
或
[[dict objectForKey:@"M"] objectAtIndex:2];
输出
“三菱”
好的,我明白了。。我还有一系列的第一个字母。。所以我想我可以进行某种类型的循环检查,然后检查哪个objectforkey正在执行objectAtIndex数组计数之类的操作。。我想。。我现在就去试试。