首页 > 解决方案 > 复制 ViewController 后 Storyboard Assistant Editor 不会自动切换

问题描述

我有一个带有 6 个视图控制器的故事板。我想复制其中一个(我基本上想从原始 VC 中删除一半的功能并将其放入第二个 VC。

在情节提要中复制/粘贴现有​​的 VC1。在 Finder 中,我将 VC1 的 .swift 文件复制/粘贴到一个名为 VC2 的新文件中。回到 Xcode 9.4.1,我将该 VC2 文件添加到左侧导航窗格中的文件夹中。我点击了故事板中的 VC2 并将其自定义类更改为 VC2。

VC1 有一个自定义的 VC1 类,甚至还有一个 VC1 的 StoryboardID。VC2 有一个自定义的 VC2 类,甚至还有一个 VC2 的 StoryboardID。我认为 StoryboardID 将有助于解决这种情况。

在 Storyboard 中,我可以清楚地看到 VC1 和 VC2。它们被适当地标记。即使是最左边的窗格也很好!

在 Storyboard 中,如果我单击 VC2,Assistant Editor 会自动切换到 VC2,我会看到代码。

但是...在情节提要中,如果我单击 VC1,则助理编辑器不会切换到 VC1。我必须单击单词/按钮:自动,现在显示 (2) 并选择 VC1,然后它将代码切换到 VC1,但是我必须再次单击 VC1 才能进行身份检查以列出正确的内容.

我点击了 Product -> Clean 然后 Product -> Build 然后重新启动,但它没有改变任何东西

我知道我仍然需要剪切和编辑我的 VC,但该应用程序正在运行(VC2 尚未加入)。

我们可以这样复制 VC 吗?有没有办法让自动助手编辑相应地切换?

谢谢

标签: swiftduplicateseditorxcode9.4assistant

解决方案


删除 VC2 .swift 文件。创建一个全新的 VC2 .swift 文件,然后仅复制并粘贴代码。这应该避免 Xcode 在 VC1 和 VC2 之间混淆。


推荐阅读