如何检查故事板是否存在于特定的NSBundle中

我正在制作一个使用我创build的框架的应用程序。

该框架包含故事板,但在某些情况下,使用该框架的项目将需要通过提供新的框架来覆盖故事板。

所以我的目标是检查一个具有给定名称的故事板是否存在于[NSBundle mainBundle] ,如果没有,那么我将从我的框架中获得基础版本。

我试图从主包中获取故事板,并检查结果是否为零,但是如果找不到则会引发exception。 所以我然后试图捕捉exception,然后从框架中加载故事板。 这工作,但它感觉肮脏,它可以很好地打我的应用程序的性能。

我也尝试了bundle中的pathForResource

 if([[NSBundle mainBundle] pathForResource:name ofType:@"storyboard"] != nil) { } 

但是这从来没有find故事板。

有谁知道任何其他方式,我可以检查一个故事板是否存在于一个特定的包?

所以,我几乎在那里,我已经在尝试。 根据对我的问题的评论,故事板的编译扩展名是“storyboardc”。 所以我可以检查一个故事板是否存在于一个包中,如下所示:

 if([[NSBundle mainBundle] pathForResource:name ofType:@"storyboardc"] != nil) { //The storyboard exists } else { //The storyboard isn't in the bundle, get it from the framework bundle. }