将数据放入 UIView 容器的嵌入式表格视图中

Posted

技术标签:

【中文标题】将数据放入 UIView 容器的嵌入式表格视图中【英文标题】:Putting data in embedded Table View in UIView container 【发布时间】:2013-11-26 21:36:56 【问题描述】:

又是这种情况:

我希望用那边的 UIPickerView 中选择的朋友的名字填充原型单元格。我已经用我的 Player 对象数据的字符串表示以编程方式填充选择器,并使用委托函数设置其属性。

您在此处看到的“新游戏好友视图”有自己的视图控制器子类,表视图也是如此,我尝试将其嵌入到“新游戏好友视图”上的 UIView 中。表格视图是我的 WHGFriendTableViewController 类的一个实例。我知道这一点是因为这个函数不会抛出任何异常:

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

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

现在的问题是:虽然上面的函数没有抛出任何异常,但它仍然不起作用。当我将 objectAtIndex:row 插入表视图的视图控制器中的 NSMutableArray selectedFriends (这是一个属性)时,似乎什么都没有发生。

这个:

NSLog(@"New length: %d", [[tabView selectedFriends] count]);

在插入新对象后打印 0。我不知道为什么。正如我所料,打印 [selffriendList] 的计数会给出三个。 reloadData 消息不会在表格视图中显示任何内容。

任何想法为什么我不能用我的代码将新数据插入表格视图,而这似乎没有任何例外?提前致谢!

【问题讨论】:

【参考方案1】:

您是否已分配并初始化您的NSMutableArray selectedFriends?

您还设置了表格视图的dataSourcedelegate 吗?

【讨论】:

非常感谢!我只是忘记了分配和初始化它......哇,3小时的调试真是太棒了。多亏了你,它现在可以工作了:)

以上是关于将数据放入 UIView 容器的嵌入式表格视图中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UITableView 放入 UIView

调整容器视图的高度以匹配子视图的高度

如何在 UIView 中嵌入表格视图,类似于在 iBooks 中用于字体选择的方式?

UIView 动画打破 TableView

将导航控制器栏按钮与嵌入容器视图交互

如何使用嵌入表格的两个容器视图进行布局