是否可以在iOS Playground中加载故事板? 请按照以下问题中的步骤操作:
How do you instantiate a Storyboard from a file within an iOS playground?
使用
编译Main.storyboardibtool --compile MainMenu.nib MainMenu.storyboard
将其添加到游乐场的Resources
文件夹中。然后尝试加载它:
let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
这导致错误:
Playground execution aborted: Execution was interrupted, reason: signal SIGABRT.
XCode 7.3.1甚至XCode 8是否支持这种?
答案 0 :(得分:4)
如果我将操场的资源部分设置为与应用程序相同的结构,那么您的故事板初始化代码适用于我。
资源 - > Base.lproj-> Main.storyboardc
答案 1 :(得分:2)
经过多次尝试,我终于有了这个工作。一些警告:
1 ..使用
编译故事板/home/user/.gem/ruby/2.5.0/bin/ceedling
不使用
ibtool --compile MainMenu.storyboardc MainMenu.storyboard
2 ..将已编译的storyboardc文件放在playground的Resources文件夹中,而不是Sources文件夹
3 ..编译时使用--module标志指定模块名称。否则,您的插座可能会导致运行时错误。对于操场书,模块名称为Book_Sources。对于您自己的游乐场,模块名称为[Playground name] _Sources。请注意,我在Apple的文档中找不到任何此类内容,因此可能会有所更改。 最终命令如下所示:
ibtool --compile MainMenu.nib MainMenu.storyboard