自定义单元类与文件所有者之间的区别是什么

时间:2013-03-27 04:51:42

标签: ios

在官方开发人员指南(以及其他类似指南)中,它提到您需要设置单元格的自定义类属性才能建立IBOutlet连接。这个自定义类只是一个客观的c类,在@properties上有IBOutlet标记。我正在努力理解的是,单元格的自定义类属性与XIB的文件所有者的不同之处。从我的实验中,我可以将文件所有者留空,只要在单元格上设置自定义类,所有连接仍然有效(我单击单元格并转到“身份检查器”并设置单元格的自定义类) 。我认为文件所有者是UI视图可以与之交互的唯一内容。

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/tableview_iphone/TableViewCells/TableViewCells.html

ctrl + f“使用自定义单元格内容的插座”来到文档中的位置。

2 个答案:

答案 0 :(得分:6)

我有同样的问题,并进行了一些实验。根据我的观点,Custom Class属性适用于XIB中的每个视图。即如果你的XIB具有多个UI对象的UI设计,则每个UI对象都可以有一个单独的自定义类。自定义类也必须是您在XIB中的UIView对象的父类的子类。例如,对于cell,自定义类必须是UITableViewCell

另一方面File Owner只有一个XIB。它可以是 ANY 类(从我所看到的)。 以我的情况为例,我XIB的自定义UITableViewCell包含文本字段和一些标签。我使用单元格作为表格的标题视图(即在UITableView对象中)。

在我的情况下,我为<{1}}创建了 NOT 自定义类。我刚刚将单元格的文件所有者设为XIB(管理我的tableview),并将我的文本字段和标签连接到UITableViewController类中的属性。这对我有用,因为我只有 ONE 实例我的自定义UITableViewController(它是整个表的标题,并且只有一个标题)。

答案 1 :(得分:0)

文件的所有者只是Interface Builder提供的一种方便的方式,用于引用运行时实例化对象,该对象通常是与主视图关联的UIViewController

也就是说,你可以引用你想要的许多其他对象,特别是如果你有一个视图层次结构或视图控制器。