4

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

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

ctrl+f "为自定义单元格内容使用 outlets" 以到达文档中的位置。

4

2 回答 2

8

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

File Owner另一方面只是一个和整个XIB。它可以是任何课程(据我所知)。以我为例,我有一个带有文本字段和一些标签XIB的自定义。UITableViewCell我使用单元格作为表的标题视图(即在UITableView对象中)。

就我而言,我没有我的XIB. 我只是将单元格的文件所有者设为我的UITableViewController(管理我的表格视图),并将我的文本字段和标签连接到UITableViewController类中的属性。这对我有用,因为我只有一个自定义实例TableViewCell(它是整个表格的标题,并且只有一个标题)。

于 2013-05-05T18:47:07.103 回答
0

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

也就是说,您可以引用任意数量的其他对象,特别是如果您有视图或视图控制器的层次结构。

于 2013-03-27T05:18:56.163 回答