如何将变量传递给TabviewController?

时间:2012-01-26 14:19:31

标签: iphone objective-c uitabbarcontroller

使用以下代码,我将数据发送到视图控制器,然后视图控制器根据我发送的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类别中的所有列表。

1 个答案:

答案 0 :(得分:2)

你违反了命名规则,这就是它失败的原因。您的ivar名称应以小写字母开头,因此应将其称为subSubCatNumber或任何其他名称,以小写字母开头。如果您愿意,可以将SUBSUBCATNUMBER更改为上述内容,甚至更改为sUBSUBCATNUMBER,但将第一个字母设为小写。如果您在某处明确调用setSUBSUBCATNUMBER,则只保留大写。