UIView容器中的嵌入式表视图

时间:2013-11-25 22:38:38

标签: ios objective-c cocoa-touch user-interface uitableview

所以情况就是这样:

enter image description here

我希望用那里的UIPickerView中选择的朋友的名字填充原型单元格。我以编程方式用正确的数据填充了选择器,并使用委托函数设置其属性。

你在这里看到的“新游戏朋友视图”有自己的viewcontroller子类,就像表视图一样,我试图在“New Game Friends View”中嵌入UIView。

我在很多方面试图将数据添加到原型单元格中,但没有运气。这是我当前的addBtnClicked函数:

- (IBAction)addBtnClicked:(id)sender {
    WHGFriendTableViewController* tabView = (WHGFriendTableViewController*) [[self childViewControllers] objectAtIndex:0];

    NSInteger row = [friendPicker selectedRowInComponent:0];
    [[tabView selectedFriends] addObject:[[self friendList] objectAtIndex:row]];
}

这几乎让我的应用程序崩溃了。每当我点击Add Friend按钮时,iPhone都会发送一个中止信号,然后回复此消息:

  

***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [UIViewController   selectedFriends]:无法识别的选择器发送到实例0x978d530'

非常感谢您对此问题的任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

您的新朋友视图控制器上是否有名为selectedFriends的媒体资源? 如果答案是肯定的,请尝试:

- (IBAction)addBtnClicked:(id)sender {
    WHGFriendTableViewController* tabView = (WHGFriendTableViewController*) [[self childViewControllers] objectAtIndex:0];

    NSInteger row = [friendPicker selectedRowInComponent:0];
    [[self selectedFriends] addObject:[[self friendList] objectAtIndex:row]];
}

如果selectedFriends是WHGFriendTableViewController的一个属性,你应该创建一个公共方法,将一个朋友添加到Mutable Array并从addBtnClicked IBAction调用它。