【问题标题】:what's the difference between custom cell class vs files owner自定义单元类与文件所有者有什么区别
【发布时间】:2013-03-27 04:51:42
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-04-25
        • 2017-04-05
        • 1970-01-01
        • 2012-10-02
        • 1970-01-01
        • 2011-12-01
        • 2014-06-01
        • 2014-06-11
        • 1970-01-01
        相关资源
        最近更新 更多