У меня довольно сложная ситуация, которая будет лучше с помощью.
- Это приложение для iOS со смешанным Swift и Objective - C.
- Подклассы классов Objective C только из классов Objective C.
- У меня есть один класс Swift с именем SettingsViewController.swift, который расширяется от класса библиотеки Swift, называемого QuickTableViewController. QuickTableViewController - это фреймворк, установленный через Carthage. https://github.com/bcylin/QuickTableViewController.
После настройки я получаю сообщение об ошибке сборки при переходе к «Main.storyboard». Я все еще могу запустить приложение, но я не вижу свои IBDesignables в Интерфейсном Разработчике. Ошибка сборки отображается в выходных данных (рисунок 1) и показывает «Сбой» на главной панели состояния - со значком предупреждения (рисунок 2).
Рисунок 1
Рисунок 2
Трассировка ошибки приводит к строке импорта заголовка моста в моих *. M файлах Objective-C :
#import "TestApp-Swift.h"
Итак ... У меня есть контроллер представления Objective-C (* .m), который создает представление SettingsViewController.swift, но он выдает эту ошибку. Я не делаю подклассы из swift, просто использую соединительный заголовок в view.m и проект, который имеет swift-представление, которое подклассов класса swift.
Вот как я создаю SettingsViewController для навигации в моем файле .m:
UIViewController *settingsVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SettingsTableViewController"];
if (settingsVC) {
[self.navigationController pushViewController:(UIViewController*)settingsVC animated:true];
}
else {
NSLog(@"ERROR, Could not segue to Settings Table View.");
}
Любая помощь сделает меня счастливым. Интерфейсный Разработчик должен счастливо показать мои IBDesignables и продолжать работать, если я использую библиотеки Swift для представлений в этом смешанном проекте.