现在,我有一个工作区,里面有两个项目,一个叫“ProjectOne”,另一个叫“ProjectTwo”,如下所示:
他们分别有一个 Storyboard,现在我想通过按下“To Project Two”来连接两个 Storyboard,如下所示:
但是当我点击按钮时,它显示
"Terminating app due to uncaught exception 'NSInvalidArgumentException', >reason: 'Could not find a storyboard named 'two' in bundle NSBundle 8C6A5FDC9E06/ProjectOne.app> (loaded)'"
这有可能吗?找了几天方法也不知道...
最佳答案
如果您的 Storyboard在另一个项目/模块中,您需要使用您要包含的 Storyboard的完整名称 - 这意味着包括包名称。请参阅下图,了解如何在 Storyboard 中进行设置。我已经使用与您的项目设置相同的 ProjectOne 和 ProjectTwo 创建了示例设置。
关键是您放入 Storyboard引用中的信息。您还需要包含包名称!仅供引用,我提供了指向 Adding a Storyboard Reference 的链接
编辑
虽然这行得通,但是当您开始使用由 View Controller 支持的各种场景构建 Storyboard时,它会在以后导致问题,现在必须将其链接到两个项目目标。更重要的是,这种关系隐藏在项目的配置细节中。一个更好的方法是利用工作区并为两个项目使用的资源添加一个共享文件夹。
接下来将共享文件夹添加到与 ProjectOne 和 ProjectTwo 相同级别的工作区中。现在通过将共享文件夹拖到项目文件(xcodeproj)上,将对共享文件夹的引用添加到每个项目。这将为您将该文件夹添加到项目目标。
现在每个项目都包含对共享文件夹的引用,共享关系现在明确显示在项目导航器中。
关于ios - 在不同的项目/包中使用对 Storyboard的 Storyboard引用似乎已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36783325/