我必须发布JSON并在响应中获取用户ID和更多内容。我已将其添加到数组并填充我的tableview。像这样。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ModelClass * model = __arrayForContacts[indexPath.row];
MYcustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
}
现在,我已经对我的tableview应用了多选。我想从多选行获取用户ID。我希望它在下一个JSON解析中作为请求发布。如何实现这一点,任何帮助都将是感谢。
答案 0 :(得分:0)
在tableview的didselect方法中,您需要设置如下
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
yourobjectClass *objCookBook = [arrCookBook objectAtIndex:indexPath.row];
objCookBook.isSelected = !objCookBook.isSelected;
//[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
//[tableView deselectRowAtIndexPath:indexPath animated:YES];// uncomment above line if you want to reload table
}
你可以得到如下:
// isSelected是您选择的标志
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isSelected == 1"];
NSArray *arrSelected = [arrCookBook filteredArrayUsingPredicate:predicate];
if (arrSelected.count > 0) {
NSlog(@"%@",[arrSelected valueForKey:@"userId"]); // replace your id name and post it to json
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:[arrSelected valueForKey:@"userId"] options:NSJSONWritingPrettyPrinted error:nil];
NSString *JsonString = [[NSString alloc] initWithData:jsonData2 encoding:NSUTF8StringEncoding];
}
答案 1 :(得分:0)
如果你想应用自定义多选择,那么试试这个,它永远不会失败。 按照步骤: -
表示0中的j ..< arrList.count { 让dictList = arrList.objectAtIndex(j)为!的NSMutableDictionary dictList.setObject(“0”,forKey:“val”) arrList.replaceObjectAtIndex(j,withObject:dictList) } tblView.reloadData
让dictList = arrList.objectAtIndex(indexPath.row)为! NSMutableDictionary让val = dictList.objectForKey(“attribute_option_list”)为!串 如果val ==“0”{ “取消选中” }其他{ “校验” }
让dictList = arrList.objectAtIndex(indexPath.row)为! 的NSMutableDictionary 让val = dictList.objectForKey(“attribute_option_list”)为!串 如果val ==“0”{ dictList.setObject(“1”,forKey:“val”) }其他{ dictList.setObject(“0”,forKey:“val”) } arrList.replaceObjectAtIndex(indexPath.row,withObject:dictList) tblView.reloadData()
不要忘记重装表&使用适当的条件,检查取消选中&密钥值
您还可以在json formate
中将所选数据返回给服务器