2011-11-02 47 views
6

几天前,我看了视频教程,解释了如何在UITableViewController中使用自定义单元格。我已经了解到,我可以直接在界面生成器中准备一个自定义单元,所以我做了如下操作:如何将IBOutlet从UITableViewController直接连接到自定义单元格?

我创建了一个UITableViewController并连接了由IBOutlet(UILabel)组成的自定义类。之后,我切换了故事板,并用UILabel准备了我的自定义单元格。最后,我将UITableViewController的标签直接连接到我的自定义单元格。

会出现以下情况:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400724860 <IBProxyObject: 0x4007872c0> => productLabel => <IBUIImageView: 0x401080220>> 

是不是可以直接连接呢?在WWDC 2011部分(Session#309)的教程视频中,他们完成了我所做的工作。但有一个钩子:它们不显示代码,它们只是像我上面解释的那样连接它。

为了更好地理解我加一个屏幕快照,显示了,我连: enter image description here

回答

3

其实,

我已经看到了视频和他们没有连接你建议的方式。它们正在从单元连接到单元中的UILabel。换句话说,它们具有UITableViewCell的子类,并将自定义对象中的这些IBOutlet连接起来。在它的基本形式中,你可以创建一个自定义的单元类,只需声明界面并合成属性,你应该很好。只要确保在故事板中正确设置了标识符和自定义类。

希望这会有所帮助。

+0

是的,这是正确的。这很可能是UITableViewCell的一个子类。 – Simon

+0

我再次观看了视频。你是对的!我的错。抱歉。我的下一个问题是我如何填充数据的单元格(属性移动到TableCell.h,所以我无法在UITableViewController中的-cellForRowAtIndexPath:(NSIndexPath *)indexPath中访问它们)。如果你知道一个快速答案,那么不用问,否则我会问Google,我确定有人问过这个问题; o) –

+0

如果有人遇到同样的问题,我在上面的评论中解释过,请参阅:http ://www.youtube.com/watch?v = d_kO-J3DYvc –

4

我原来是在this question是同样的问题。正如我的问题的回答者所说,问题在于这里的单元是一个原型单元。单元格元素和UITableViewController之间的连接对静态单元格的表格视图工作良好,因为它们是在启动时创建的,但它对原型单元格没有意义,因为它们中的很多可能会被创建......并且它们不会直到调用cellForRowAtIndexPath。 (这是一个非常糟糕的错误消息,Xcode可能不应该让你这样非法连接。)

相关问题