【问题标题】:Use of undeclared type 'UITableViewSection' even though UIKit is imported即使导入了 UIKit,也使用未声明的类型“UITableViewSection”
【发布时间】:2018-07-19 08:34:02
【问题描述】:

我正在尝试创建对我的 TableView 的静态部分的引用。我将文档大纲中的部分(“我的部分”,在第二个屏幕截图中突出显示)控制拖动到关联的代码文件中,Xcode 提供连接到新的 UITableViewSection 出口(“类型”字段预填充有“UITableViewSection "):

但随后 Xcode 立即抱怨告诉我它不知道 UITableViewSection 是什么:

我已经导入了 UIKit,所以不是这样。我找不到 UITableViewSection 的任何文档。它似乎不存在,但是为什么Xcode会让我把它拖到文件中来创建一个出口?

【问题讨论】:

  • 你在哪里找到了一个叫UITableViewSection的类来拖动?它只是您创建的名称吗?
  • 您应该使用表格视图委托方法来处理部分
  • UITableViewSection 这个名字不是我编的。当我从“文档大纲”中按住 Control 键拖动“我的部分”时(参见第二个屏幕截图左窗格中突出显示的行),它出现了(参见第一个屏幕截图中的下拉菜单,该下拉菜单是预先填充的)。我只是好奇为什么 Xcode 会尝试创建一个不存在类型的 outlet。

标签: ios uitableview uikit


【解决方案1】:

我尝试了同样的事情并且发生了同样的错误。我所做的不是在该部分创建一个出口,而是在内容视图上创建了一个出口

@IBOutlet var editCountdownTableViewCell: UITableViewCell!

我创建它是因为我希望能够隐藏和显示。

【讨论】:

    【解决方案2】:

    你不能这样声明 UITableViewSection,因为没有可用的类名称。 你可以通过创建一个自定义原型 UITableViewCell 来简单地做到这一点,并且可以使用它的自定义部分标题,如下所示-

    override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let cell = self.tableView.dequeueReusableCell(withIdentifier: "SectionHeader") as! CustomHeaderUITableViewCell
        return cell
    }
    
    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 60
    }
    

    【讨论】:

    • 您不应将单元格出列以充当标题
    猜你喜欢
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多