更新此主题,因为我有一些其他的帮助解决了为什么我无法访问方法之外的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
)
答案 0 :(得分:1)
你知道吗,我想我知道这个问题所以我会猜测一下。
因为您直接使用arraysByLetter,我不相信您正在使用合成属性,而是使用支持变量。你需要使用self.arraysByLetter(这将保留字典)。
至少,我一直在使用self.property,所以我不记得这是必需品还是仅仅是一种习惯。试一试。