Как проверить, существует ли раскадровка в определенном NSBundle

Я создаю приложение, которое использует структуру, которую я создаю.

Структура содержит раскадровки, но в некоторых случаях проект, использующий структуру, должен будет переопределить раскадровку, предоставив новую.

Поэтому моя цель – проверить, существует ли раскадровка с заданным именем в [NSBundle mainBundle] , если нет, тогда я получу базовую версию из своей структуры.

Я попытался получить раскадровку из основного пакета и проверить, что результат равен нулю, но он генерирует исключение, если он не может его найти. Поэтому я затем попытался поймать исключение, а затем загрузить раскадровку из рамки. Это работает, но он чувствует себя грязным, и это может сильно повлиять на производительность моего приложения.

Я также попробовал pathForResource в комплекте:

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

Но это никогда не находит раскадровку.

Кто-нибудь знает какой-либо другой способ, который я могу проверить, существует ли раскадровка в определенном комплекте?

Итак, я был рядом с тем, что уже пытался. Согласно комментарию по моему вопросу, скомпилированное расширение для раскадровки – «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. } 
  • Как загрузить изображение из Assets.car (скомпилированной версии xcassets) в NSBundle? (без использования CocoaPods)
  • NSBundle mainBundle pathForResource (возможно, не та же проблема)
  • Невозможно загрузить изображение в xcassets на комплекте
  • Как получить изображение из указанного каталога PATH или документа с помощью NSBundle
  • Доступ к изображениям из nsbundle
  • Получить основной пакет приложений из расширения
  • Воспроизведение случайного аудиофайла с помощью Swift
  • Загрузка файлов внешнего пакета?
  • Напишите в главном каталоге Bundle. Это разрешено?
  • iPhone / iPad: невозможно скопировать папку из NSBundle в NSDocumentDirectory
  • Как создать и проверить подкаталог в приложении Bundle
  • Давайте будем гением компьютера.