gpt4 book ai didi

xcode - 重构 ViewControllers - 错误 : Storyboard both contain a view controller with same identifier

转载 作者:行者123 更新时间:2023-11-28 06:44:19 24 4
gpt4 key购买 nike

我正在为一个项目使用 Xcode 7.3(最低部署目标 8.0)

我有一个 Storyboard,它的规模在不断扩大。我考虑过使用 Editor -> Refactor To Storyboard... 将两 (2) 组场景重构为两 (2) 个不同的 Storyboard,然后创建两个具有不同名称的 Storyboard来“保存”各自的重构场景.

它按预期工作 - 两个新 Storyboard(NewStoryBoard1 和 NewStoryBoard2)“保存”了两组重构场景。

当我构建项目时出现此错误:

Deploying Storyboard References to iOS 8.0 requires that your storyboards do not share any view controller identifiers. NewStoryBoard1.storyboard and NewStoryBoard2.storyboard both contain a view controller with identifier "UIViewController-knd-7b-mzO".

我没有将标识符命名为

UIViewController-knd-7b-mzO

这似乎是在 Xcode 中自动完成的。

我的问题是,为什么 Xcode 使用相同的标识符创建两个 Storyboard引用到两个不同的 View Controller ?

我有几个类似的问答线程讨论这个问题,但他们没有提供解决方案。

我怎样才能最好地解决这个问题?非常感谢。

更多信息

在尝试重构我选择的场景/ View 后,我看到了一个像这样的新 Storyboard:

enter image description here

放大:

enter image description here

出现了一个奇怪的 Storyboard引用 - 尽管我已经在新 Storyboard上选择了一个 ViewController 作为我的 Initial ViewController

我在两个新的重构 Storyboard中获得了相同类型的 Storyboard引用。结果,我在构建项目时收到了这个错误:

Deploying Storyboard References to iOS 8.0 requires that your storyboards do not share any view controller identifiers. NewStoryBoard1.storyboard and NewStoryBoard2.storyboard both contain a view controller with identifier "UIViewController-knd-7b-mzO".

我尝试重命名新的 Storyboard引用(在我的上图中列为“问题”),但这并没有解决错误。

请在下面查看我的回答,了解我是如何解决这个问题的。

最佳答案

我认为我收到了导致我构建错误的随机 UIViewController-knd-7b-mzO 重复 Storyboard引用,因为:

Note: If a scene has an empty storyboard ID, the Refactor to Storyboard command automatically generates an ugly one, such as UIViewController-gtY-c7-gYu.

(来源)https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards

而且我没有为所有重构的场景/ View 输入 Storyboard ID。

继续......我设法通过以下方式解决了错误问题:

  1. 删除奇怪的 Storyboard 引用(在我上面的问题中列为“问题”);
  2. 确保我在每个新 Storyboard中指定了一个 Initial ViewController;和
  3. 确保我的主要(即原始) Storyboard中两个“新 Storyboard”引用的引用 ID 字段都是空白。<

enter image description here

实际上,这是有道理的。该引用将对重构 Storyboard场景的任何调用定向到新 Storyboard(由 Storyboard 字段引用),从而自动呈现相应的"new"Initial ViewControllers

对于我的语法或代码引用中的任何错误,我深表歉意,我是编程新手。

我希望这对将来可能遇到同样问题的任何人有所帮助。

关于xcode - 重构 ViewControllers - 错误 : Storyboard both contain a view controller with same identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37000205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com