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
ios-如何从UITableView单元格获取id完整数组值?_Ios_Ios5_Uitableview - Fatal编程技术网

ios-如何从UITableView单元格获取id完整数组值?

ios-如何从UITableView单元格获取id完整数组值?,ios,ios5,uitableview,Ios,Ios5,Uitableview,我可以得到如下单元格的文本值: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger *row = [indexPath row]; // NOW GET THE NAME AND ID FROM THAT ROW UITableViewCell *cell = [tableView cellForRowAtInd

我可以得到如下单元格的文本值:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSUInteger *row = [indexPath row];

    // NOW GET THE NAME AND ID FROM THAT ROW
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSString *cellText = cell.textLabel.text;    

    NSLog(cellText);    
}
但我需要能够获取该项的id,或者至少使用该行从数组中获取该项

以下是如何填充UITableView的数组:

@synthesize items_array;
后来:

                 items_array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

                 [self.itemList reloadData];
数组中有JSON,每个项都有JSON,字段如item_id和item_name

因此,当用户单击列表中的某个项目时,如何获取id字段


谢谢

你有定制的手机吗?它是否具有item_id属性?我会这样做的。或者,您必须以indexpath.row作为index@mkral啊,我明白了,所以本质上,我必须把一个自定义对象放入单元格,对吗?在uitableview中只显示对象中的一个字段?出于好奇,您可以发布一些示例代码来说明您是如何做到这一点的。如果您想访问JSON数据,那么runmad的答案是可行的。您仍然需要使用它来设置
单元格.fieldID
如何创建单元格?文本是否基于返回的JSON值?在这种情况下,创建自定义单元格可能不好,因为您没有更改单元格的视图。是否有自定义单元格?它是否具有item_id属性?我会这样做的。或者,您必须以indexpath.row作为index@mkral啊,我明白了,所以本质上,我必须把一个自定义对象放入单元格,对吗?在uitableview中只显示对象中的一个字段?出于好奇,您可以发布一些示例代码来说明您是如何做到这一点的。如果您想访问JSON数据,那么runmad的答案是可行的。您仍然需要使用它来设置
单元格.fieldID
如何创建单元格?文本是否基于某个返回的JSON值?在这种情况下,创建自定义单元格可能不好,因为您没有更改单元格的视图。我认为您的意思是
NSDictionary*info=[data objectAtIndex:indexath.row]
then
NSString*idField=[data objectForKey:@“item_id”
这取决于JSON的结构。@runmad我在尝试执行此NSLog(idField)时出错;在您建议的“无法识别的选择器发送到实例”行之后,请尝试
NSLog(@“Class:%@,[[items\u array objectAtIndex:indexath.row]Class]
我认为这是字典类型,但我可能是wrong@mkral我尝试了您最初建议的NSDictionary*info=[items\u array objectAtIndex:indexath.row];NSString*idField=[info objectForKey:@“item\u id”];NSLog(idField);但没有向控制台输出任何内容:(@mkral在您的帮助下成功了!如果您愿意,可以将其作为答案发布,我会接受。感谢Runmad和mkral:)你们的帮助!我想您的意思是
NSDictionary*info=[data objectAtIndex:indexath.row];
然后
NSString*idField=[data objectForKey:@“item\u id”
取决于JSON的结构。@runmad我在尝试执行此NSLog(idField)时出错;在您建议的“无法识别的选择器发送到实例”行之后,请尝试
NSLog(@“Class:%@”,[[items\u array objectAtIndex:indexath.row]Class]
我认为这是字典类型,但我可能是wrong@mkral我尝试了您最初建议的NSDictionary*info=[items\u array objectAtIndex:indexath.row];NSString*idField=[info objectForKey:@“item\u id”];NSLog(idField);但没有向控制台输出任何内容:(@mkral在你的帮助下成功了!如果你愿意,你可以将其作为答案发布,我会接受。谢谢Runmad和mkral:)你们的帮助!
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *idField = [items_array objectAtIndex:indexPath.row];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSDictionary *itemInfo = [items_array objectAtIndex:indexPath.row];
    NSString *itemID = [itemInfo objectForKey:@"item_id"];
}