我一直在很好地混合使用 Swift 和 Objective C,但是我在从 Objective C 的 HEADER 文件访问 Swift 类时遇到了问题。我可以在 .m 文件中成功地做到这一点。
在 .h 文件中,我导入 Xcode 生成的格式为“Appname-Swift.h”的文件。但是,在这样做的过程中,我得到了找不到文件的消息。我可以毫无问题地在我的 .m 文件中进行同样的导入。但是,我在 .h 文件中需要它,因为我引用了一个需要使用公共(public) API 访问的 Swift 类。
如何使用 Objective C 的 .h 部分中的 Swift 类?
例子:
#import <UIKit/UIKit.h>
#import "MyApp-Swift.h"
@interface SelectedContactsVC : UIViewController
@property (nonatomic,strong) MapVC *mapVC;
@end
上面的 MapVC 是一个 Swift 类。
最佳答案
将 #import "MyApp-Swift.h"
移动到 .m 文件。
并将您的 .h 文件制作为:
#import <UIKit/UIKit.h>
@class MapVC;
@interface SelectedContactsVC : UIViewController
@property (nonatomic,strong) MapVC *mapVC;
@end
Swift 无法生成“MyApp-Swift.h”,如果它是从 Objective-C 头文件导入的,可能是某种相互依赖的东西。
关于objective-c - 在 Objective C header 中访问 Swift 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295604/