在Swift / Objective-C混合项目中Interface Builder的构建失败

时间:2019-05-15 02:17:25

标签: ios objective-c swift interface-builder bridging-header

我的处境比较复杂,需要帮助会更好。

  • 这是一个结合了Swift和Objective-C的iOS应用。
  • 仅目标C类的目标C类子类。
  • 我有一个名为SettingsViewController.swift的Swift类,它是从名为QuickTableViewController的Swift库类扩展而来的。 QuickTableViewController是通过迦太基安装的框架。 https://github.com/bcylin/QuickTableViewController

设置完毕后,导航到“ Main.storyboard”时收到构建错误。我仍然可以运行该应用程序,但是在Interface Builder中看不到我的IBDesignable。生成错误显示在输出详细信息中(图1),并在主状态窗格中显示“失败”-带有警告图标(图2)。

图1 Failure message Figure 1

图2 Failure message Figure 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.");
}

任何帮助都会让我开心。如果我在这个混合项目中使用Swift库获取视图,Interface Builder需要愉快地显示我的IBDesignables并继续工作。

0 个答案:

没有答案