在按钮单击时在另一个请求中传递json响应参数

时间:2012-09-27 11:09:36

标签: iphone objective-c

我有一个NSDictionary json响应对象,在调用服务URL后打印。

Looks like this:

{
geofenceType="a";
resourceType="b";
requestType="c";
monitoringType="d";
},
{
geofenceType="a1";
resourcetype="b1";
requestType="c1";
monitoringType="d1";
}, ...and so on for different users.

现在我在tableViewController中的每个用户前面都有一个按钮,按下按钮后,我需要调用另一个服务URL,该URL将geofenceType和该用户的requestType作为参数。你能帮我解决一下如何传递参数吗?

2 个答案:

答案 0 :(得分:0)

首先给每个cellButton(当在cellForRowATIndexPath中创建时)应该被赋予一个标签。假设是indexPath.row.From你的响应似乎你有dictionaries数组。在数据源方法中设置数组。

然后在按钮选择器..

使用此

NSDictionary *dict = [yourArray objectAtIndex:sender.tag];

最后

NSLog(@"[dict valueForKey:@"geofenceType"]");

应给出所需的值

答案 1 :(得分:0)

您可以通过多种方式执行此操作,其中一个最简单的方法是在cellForRow方法中指定button.tag属性:

 - (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    myButton.tag = indexPath.row;
//other code
}

然后,在按钮处理程序中,您可以获得如下项目:

-(void)btnClicked:(id)sender {
    UIButton * btn = (UIButton)sender;
    yourItemForRow = [myDataArray objectAtIndex:btn.tag];

    //use yourItemForRow
}