使用以下代码,我将数据发送到视图控制器,然后视图控制器根据我发送的ID变量检索另一组数据。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *dict = [rows objectAtIndex: indexPath.row];
ListingsViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"tabView"];
controller.SUBSUBCATNAME = [dict objectForKey:@"S_NAME_EN"];
controller.SUBSUBCATNUMBER = [dict objectForKey:@"SUBCAT_ID"];
[self.navigationController pushViewController:controller animated:YES];
}
下一个视图会加载另一个列出某个国家/地区酒店的表格。我想要做的是在标签之间放置一个tabview并在标签的帮助下过滤酒店。例如,第一个选项卡将显示所有酒店,第二个选项卡将显示一个区域中的酒店,第三个选项卡将显示另一个区域,依此类推。
我的问题是当我将SUBSUBCATNUMBER发送到tabbarcontroller时,它会抛出一个错误:
'NSInvalidArgumentException', reason: '-[tabView setSUBSUBCATNUMBER:]: unrecognized selector sent to instance
如何将此ID发送到tabbarcontroller,后者会加载我的视图控制器,列出该ID类别中的所有列表。
答案 0 :(得分:2)
你违反了命名规则,这就是它失败的原因。您的ivar名称应以小写字母开头,因此应将其称为subSubCatNumber或任何其他名称,以小写字母开头。如果您愿意,可以将SUBSUBCATNUMBER更改为上述内容,甚至更改为sUBSUBCATNUMBER,但将第一个字母设为小写。如果您在某处明确调用setSUBSUBCATNUMBER,则只保留大写。