【发布时间】:2011-08-06 15:13:43
【问题描述】:
我已经为此工作了 2 天,似乎无法掌握。我想我错过了一些非常基本的东西。
这是我所拥有的:
作为 Apps 根控制器的 UIViewController。 有一个 ContainerView,它是 UIView 的一个子类,我将它添加到我的根控制器视图中。 其中我想要一个 UITableView。
由于有几个不同的容器,我为每个容器设置了不同的 Nib。
这是它的连接方式:带有内容的 Nib,将容器作为其文件的所有者。 UITableView 有一个出口,它有容器作为源和委托。
容器实现协议方法。
现在我不能在 UITableView 上调用 reloaddata,因为它是 nil。我在控制台中输入 po 并显示 0x0 但我不知道为什么。
我一直在尝试不同的方法,但最终都失去了对 tableView 的引用。
这不像是我创建的第一个 tableview,但我不知道我在这里做错了什么。
请帮忙!!!!
代码:
这是我的奥特莱斯:
IBOutlet UITableView *contactsTV;
文件的所有者与之有关联,tableview 反之亦然。
我通过以下方式创建笔尖:
Contentview *v = [[Contentview alloc] initWithFrame:[[contentViewArray objectAtIndex:i] CGRectValue]];
虽然 contentViewArray 是一些将 Framevalues 存储为字符串的数组。 然后我做:
[v prepareView];
它看起来像这样:
- (void) prepareView {
NSArray *mediaPlayerViews = [[NSBundle mainBundle] loadNibNamed:@"MyView"
owner:self
options:nil];
UIView *v = (UIView *)[mediaPlayerViews objectAtIndex:0];
[self addSubview:v];
}
【问题讨论】:
-
如果你发布一些代码,找到问题会容易得多。也许您没有将 tableview 连接到 nib 中的正确对象?
-
添加了一些代码 - 希望对您有所帮助。
-
当你说[self addSubview:v]时,这里的“self”是UIView,还是UIViewController?
标签: iphone ipad uitableview reference