Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Iphone 如何使用NSDictionary值填充UITableViewCell文本标签?_Iphone_Ios_Uitableview_Nsdictionary - Fatal编程技术网

Iphone 如何使用NSDictionary值填充UITableViewCell文本标签?

Iphone 如何使用NSDictionary值填充UITableViewCell文本标签?,iphone,ios,uitableview,nsdictionary,Iphone,Ios,Uitableview,Nsdictionary,我正处于为快速滚动设置索引Uitableview的最后阶段,一旦完成,我将写下我的经验,希望能帮助任何试图获得与我相同结果的人。 但是,我还有最后一个步骤将NSDictionary值传递到tableviewcells textlabels中。。我只是不知道怎么做,希望有人能给我举个例子 这就是我的字典的样子 Dictionary: { H = ( Honda, Honda, Honda, Honda,

我正处于为快速滚动设置索引Uitableview的最后阶段,一旦完成,我将写下我的经验,希望能帮助任何试图获得与我相同结果的人。 但是,我还有最后一个步骤将NSDictionary值传递到tableviewcells textlabels中。。我只是不知道怎么做,希望有人能给我举个例子

这就是我的字典的样子

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数组计数之类的操作。。我想。。我现在就去试试。