【问题标题】:xcode 9.2 IBAction and IBOutlet indicators not getting filled inxcode 9.2 IBAction 和 IBOutlet 指标未填写
【发布时间】:2017-12-19 15:48:05
【问题描述】:

有没有人看到这个问题并找到了解决方案?我的 iOS 应用程序出现间歇性崩溃,因为我认为该项目以某种方式搞砸了。我有一个在情节提要中选择的自定义视图控制器类的屏幕截图。如果我连接所有动作​​和插座,指示器将被填充,但是当我重新启动 xcode 时,它​​们又是空的。有趣的是它们没有断开连接,因为应用程序会运行良好。只是有时我得到一个未处理的异常,它抱怨我的一个插座类没有键值编码。当我重新启动 xcode 时,问题“有时”消失了。

有一个线索:直到我添加了一个使用 xib 文件的自定义视图,我才看到这个问题。但有趣的是,这个视图控制器甚至没有使用自定义视图,而且我所有的视图控制器都有同样的问题。

您可以在屏幕截图中看到所有出口指示符都是空的(但应用程序可以正常工作),并且您可以看到两个操作方法指示符都没有填写,但它们都可以工作。

编辑:发布更好的屏幕截图和更多示例。

【问题讨论】:

  • 粘贴代码而不是图片。
  • 这些函数甚至没有被声明为@IBAction,因此你应该无法连接它们。但是,如果 xib 中已经存在连接,则删除 @IBAction 不会破坏它。这些指标并不真正安全。 Xcode 不可能总是检测到连接。
  • 尝试清理和构建。
  • 我已经完成了整个清理、构建、重新连接等工作。
  • @TusharSharma 在这种情况下,粘贴代码无济于事,因为问题在于 IB 连接指标。

标签: ios swift xcode xcode9


【解决方案1】:

这个问题已经快一年了,但我还是要回答:

我所做的是删除我遇到问题的视图并重新制作它,通过

  1. 将视图控制器从对象库中拖到情节提要中。
  2. 通过依次单击文件 > 新建 > 文件和 Cocoa Touch 类来创建一个新的 Swift 文件。我给它起了一个名字,并确保它有子类“UIViewController”,然后点击“创建”。
  3. 回到故事板,我选择了新创建的 UIViewController(不是视图,也不是场景)并在 xcode 的最右侧面板上拉起身份检查器,并在类字段中输入我的新 UIViewController 类自定义类部分。

然后我只是用 ctrl-click-hold-and-drag-spiel 重做所有的序列,它按预期工作。

希望这对任何人都有帮助。

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 2018-08-12
    • 2021-10-02
    相关资源
    最近更新 更多