【问题标题】:How can I delete keys for UI elements (key value coding-compliance)? [duplicate]如何删除 UI 元素的键(键值编码合规性)? [复制]
【发布时间】:2018-07-30 19:27:48
【问题描述】:

我有一个自定义 UIViewController,里面有一个表格视图。

我将 Table View 从 Main.storyboard 中的 Scene 控制拖到类中,以获得 Table View 的出口,将其命名为“tableView”。

然后它将这一行添加到我的班级:

@IBOutlet weak var tableView: UITableView!

我想将名称更改为 tvMC,因此我删除了该行并再次控制拖动表格视图,这次将其命名为“tvMC”。

我构建并运行并得到这个错误:

Terminating app due to uncaught exception 'NSUnknownKeyException' ...
this class is not key value coding-compliant for the key tableView.'

我决定只使用 tableView 来让它工作,但是在将 outlet 改回 tableView 后,我得到了这个错误:

Terminating app due to uncaught exception 'NSUnknownKeyException' ...
this class is not key value coding-compliant for the key tvMC.'

似乎因为我控制拖动它两次,即使我删除了其中一个,密钥仍然存在于某个地方。

那么如何查看我为 UI 元素创建的键列表并删除我不需要的键?

【问题讨论】:

    标签: swift xcode


    【解决方案1】:

    您正在 UIStoryboard 中创建相同 UI 元素的两个实例

    在情节提要中选择您的UIViewController

    现在在右侧的实用程序部分选择连接检查器

    在 outlet 部分,您可以找到两个用于 tableView 的连接删除一个,您的应用现在运行良好。

    始终确保先删除故事板中的连接,然后再删除代码。

    【讨论】:

      【解决方案2】:

      当你想改变一个出口的名字时,你必须删除旧的,因为输入其他名字不会更新 IB 中的钩子名字,导致你运行时崩溃

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2019-05-29
        • 2014-03-16
        • 2020-07-04
        • 2018-03-01
        • 1970-01-01
        • 2019-06-25
        相关资源
        最近更新 更多