【问题标题】:Target without some of the classes of the scenes in the Storyboard没有故事板中某些场景类的目标
【发布时间】:2015-07-16 21:57:44
【问题描述】:

我的项目中有许多目标,每个目标都使用相同的故事板,但只选择了其中链接的类。通常 Xcode 不会抱怨,至少在 iPhone 版本上不会,在大多数目标中也不会。然而,一个特定的抱怨有两个特定的类:

Interface Builder 文件中的未知类 ******。

Interface Builder 文件中的未知类 $$$$$$。

尽管故事板中还有许多其他场景的类未包含在目标中,即使在这种特定情况下也是如此。

当我在 iPad(模拟器)上执行应用程序时会发生这种情况,一段时间后它会在 UIApplicationMain 上崩溃;不过,我不知道这两件事是否相关。

Xcode 是否有某种方式决定检查情节提要的某些场景,而另一些不检查相应类的存在?

【问题讨论】:

    标签: ios xcode crash uistoryboard


    【解决方案1】:

    问题在于 Swift 是基于模块的。每个目标都是一个模块。一个类在一个特定的模块中定义,并被命名为该模块。

    因此,MyFirstTarget 中的 ViewController 与 MySecondTarget 中的 ViewController 不同 - 它们是 MyFirstTarget.ViewControllerMySecondTarget.ViewController

    如果您查看故事板的身份检查器,您会发现实际上它告诉您它认为这个类属于哪个模块。因此,如果在 nib 加载时该模块不存在,它可能会变得非常混乱。

    【讨论】:

      【解决方案2】:

      更简单地说,我在其他目标中引入了一个拆分视图,该目标未在一个 in 对象中使用,当它试图将其显示为入口场景时它崩溃了。事实上,未知类是主控制器中可能与拆分视图一起显示的类。

      我通过复制 iPad Storyboard 来解决这个问题,其中一个带有 Splitview,另一个没有它。

      【讨论】:

        猜你喜欢
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-21
        • 2012-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多