更新:无法将NSDictionary传递给UITableViewCell文本标签

时间:2011-09-22 03:14:01

标签: iphone ios uitableview nsdictionary

更新此主题,因为我有一些其他的帮助解决了为什么我无法访问方法之外的NSDictionarys值...

我错误地把它弄错了,因此在方法结束时调用了autorelease,所以当我在那个方法之外调用它时,我遇到了各种各样的错误..

所以现在基本上我正在尝试将NSDictionarys值分配给cellForRowAtIndexPath中的UITableViewCell文本但是我收到此错误

这是我如何尝试分配它和此时的输出

// Configure the cell...
    if(indexPath.row <= [self.sectionLetters count]){

       // NSObject *key = [self.sectionLetters objectAtIndex:indexPath.row];
        NSString *value = [self.arraysByLetter objectForKey:[self.sectionLetters objectAtIndex:indexPath.row]];
        NSLog(@"thingy %@", value);

        cell.textLabel.text = value;
   }

    return cell;

.OUTPUT

2011-09-23 10:25:01.343 Code[6796:207] thingy (
    Honda,
    Honda,
    Honda,
    Honda,
    Honda,
    Honda,
    Honda
)

但是,如果我评论//Cell.textLabel.text = value;,我会得到此输出

.output2

2011-09-23 10:26:38.322 Code[6876:207] thingy (
    Honda,
    Honda,
    Honda,
    Honda,
    Honda,
    Honda,
    Honda
)
2011-09-23 10:26:38.323 Code[6876:207] thingy (
    Mazda,
    Mazda,
    Mitsubishi,
    Mitsubishi,
    Mitsubishi,
    Mitsubishi,
    Mitsubishi,
    Mitsubishi
)
2011-09-23 10:26:38.325 Code[6876:207] thingy (
    Nissan,
    Nissan,
    Nissan,
    Nissan,
    Nissan,
    Nissan,
    Nissan
)
2011-09-23 10:26:38.326 Code[6876:207] thingy (
    Toyota,
    Toyota,
    Toyota
)

1 个答案:

答案 0 :(得分:1)

你知道吗,我想我知道这个问题所以我会猜测一下。

因为您直接使用arraysByLetter,我不相信您正在使用合成属性,而是使用支持变量。你需要使用self.arraysByLetter(这将保留字典)。

至少,我一直在使用self.property,所​​以我不记得这是必需品还是仅仅是一种习惯。试一试。