【发布时间】:2015-12-03 12:29:36
【问题描述】:
我当前的项目包含 Swift 和 Objective-C 代码。两种类型的源文件都使用另一种语言的代码。
当我进行完全清理和重新编译时,Module-Swift.h 中几乎每个 Swift 类声明都会出现错误,格式如下:
Cannot find interface declaration for 'UIViewController', superclass of 'CustomViewController'
我的症状与this question 相似,情况与this question 相似。换句话说:
-
Module-Bridging_Header.h导入我的 Objective-C 标头,Class.h - 实现文件
Class.m导入Swift 标头Module-Swift.h
如果我按照this question 的答案中的方法,我可以通过添加以下文件并导入它来代替Module-Swift.h 来解决错误:
//
// Module-Swift-Fixed.h
// Module
//
#ifndef Module_Swift_Fixed_h
#define Module_Swift_Fixed_h
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import <UIKit/UIKit.h>
#import "Module-Swift.h"
#endif /* Module_Swift_Fixed_h */
这似乎是一个可怕的 hack。我是否错过了在 Xcode 中实现这一目标的一些正确方法?
【问题讨论】:
-
你在使用 Swift 2.0 吗? Xcode 7似乎没有问题。如果是,您可以发布项目吗?
-
我遇到了类似的问题。我的(稍微好一点?)hack 是将缺少的导入添加到桥接头中。
标签: objective-c xcode swift