嘿伙计我有问题,我有NSArrays的NSDictionary,我试图设置字母部分,所以AAAAA,BBBB,CCCC等等,但是当我通过我的值传递所有的A值时直接进入一个uitableviewcell然后是下一个B ...这不是我所追求的。我希望每个UItableviewcell都有一个带有一个NSArray / Dictionary值的字母部分..
这就是我目前正在设置它的方式,我想也许我可能会错过一个If语句然而我只是不确定如何做到这一点,如果可能的话会有所帮助..提前感谢。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryNone; //make sure their are no tickes in the tableview
cell.selectionStyle = UITableViewCellSelectionStyleNone; // no blue selection
// Configure the cell...
if(indexPath.row < [self.arraysByLetter count]){
NSArray *keys = [self.arraysByLetter objectForKey:[self.sectionLetters objectAtIndex:indexPath.row]];
NSString *key = [keys description];
NSLog(@"thingy %@", key);
cell.textLabel.text = key;
}
return cell;
}
这就是它在模拟器上的样子
UPdate我按照下面的建议对我的代码进行了更改,现在发生了这种情况......
模拟器首次加载时
然后滚动到列表底部并返回顶部,它看起来像这样。
答案 0 :(得分:1)
NSString *key = [keys description];
在这里,您将文本设置为 ALL 键的字符串表示形式。 :)
我想你想要这个(我希望我能正确地解释你的代码)
NSArray *keys = [self.arraysByLetter objectForKey:[self.sectionLetters objectAtIndex:indexPath.section]];
NSString *key = [keys objectAtIndex:indexPath.row];
NSLog(@"thingy %@", key);
因此,使用IndexPath部分获取KeysArray, 然后使用IndexPath行获取单元格的值。