【发布时间】:2013-10-25 11:12:09
【问题描述】:
我通过 JSON 解析产品 ID,然后将其推送到详细视图并放入 url 以解析有关所选产品的更多信息,但似乎 didSelectRowAtIndexPath 返回错误的 indexPath 因为每次我点击一行它不加载详细视图的产品获取最后检索的行的产品 ID。
例如,我显示了 5 行。我的逻辑正确解析每一行(第 1 行、第 2 行、第 3 行、第 4 行、第 5 行)的所有 ID。我知道点击第一行,因为我想获取链接到第 1 行的信息,但不是第 1 行的信息,而是详细视图获取解析第 5 行信息的命令,因为这是最后一个被解析然后显示的 id错误信息。
我不知道如何让didSelectRowAtIndexPath 方法获得正确行的正确信息。
这是我的didSelectRowAtIndexPath 代码:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIStoryboard *iPhone = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
CJArtikelDetailViewController *artikelView = [iPhone instantiateViewControllerWithIdentifier:@"detail"];
NSString *detail = [NSString stringWithFormat:@"%@", wareID];
artikelView.productID = detail;
[self.navigationController pushViewController:artikelView animated:YES];
[neuheitenTableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"IndexPath: %@", [indexPath description]);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *neuheitenCell = @"neuheitenCell";
CJHomeTableCell *cell = [tableView dequeueReusableCellWithIdentifier:neuheitenCell];
/*
NSNumber *preis = [[arrayArtikelPreis objectAtIndex:indexPath.row] objectForKey:@"preis"];
NSMutableString *test = [NSMutableString stringWithFormat:@"€ %@", preis];
cell.artikelPreis.text = test;
*/
NSString *imageString = [[arrayNeuheiten objectAtIndex:indexPath.row] objectForKey:@"bild"];
//NSLog(@"BildURL: %@", imageString);
NSURL *imageURL = [NSURL URLWithString:imageString];
[cell.artikelImage setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@""]];
NSDictionary *object = [arrayNeuheiten objectAtIndex:indexPath.row];
//NSLog(@"%@", object);
wareID = [object objectForKey:@"ware_id"];
NSLog(@"Waren ID: %@", wareID);
cell.artikelName.text = [object objectForKey:@"name"];
cell.artikelHersteller.text = [object objectForKey:@"lieferant_name"];
return cell;
}
我必须让方法以某种方式确定选择了哪一行,但我不知道如何在文档中找到有关它的信息。
提前感谢您的帮助!
【问题讨论】:
-
indexPath.row 对您不起作用?
-
这里的wareId是什么?您可以发布您为 wareId 赋值的代码吗
-
wareid 是产品 ID。我在 cellForRowAtIndexPath 分配它。我会把它添加到我的原始帖子中
-
@PratyushaTerli 编辑了我的原帖
-
所以您想将产品 id 传递给基于当前选定行的详细视图控制器吗?
标签: ios json uitableview didselectrowatindexpath