我有一个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作为参数。你能帮我解决一下如何传递参数吗?
答案 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
}