【发布时间】:2023-03-11 12:17:01
【问题描述】:
我正在制作一个使用我正在创建的框架的应用程序。
框架包含故事板,但在某些情况下,使用该框架的项目需要通过提供新的故事板来覆盖故事板。
所以我的目标是检查[NSBundle mainBundle] 中是否存在具有给定名称的故事板,如果不存在,那么我将从我的框架中获取基本版本。
我尝试从主包中获取故事板并检查结果是否为零,但如果找不到它会引发异常。所以我然后尝试捕获异常,然后从框架中加载情节提要。这确实有效,但感觉很脏,很可能会影响我的应用程序的性能。
我也尝试过捆绑包中的pathForResource:
if([[NSBundle mainBundle] pathForResource:name ofType:@"storyboard"] != nil) {
}
但这永远找不到情节提要。
有谁知道我可以检查故事板是否存在于特定捆绑包中的任何其他方式?
【问题讨论】:
-
由于您无法在运行时写入应用程序包,因此您应该在编译时确切知道包中的内容...
-
代码在框架中。所以我无法从框架中看出它被嵌入到主包中的内容..
-
不知道是否有帮助,但编译后的故事板的文件扩展名为“storyboardc”。
标签: ios objective-c xcode storyboard nsbundle