我用Swift写了一个库,但我不能把它导入到我目前用Objective-C写的项目中。

有什么方法可以导入吗?

#import "SCLAlertView.swift" - 'SCLAlertView.swift' file not found

当前回答

在项目中找到. pch文件。然后添加#import "YourProjectName-Swift.h"这将导入类头文件。这样你就不需要导入到特定的文件中。

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif


#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    #import "YourProjectName-Swift.h"
#endif

其他回答

#import <TargetName-Swift.h>

当你从键盘输入#import <时,你会看到Xcode会自动提示你。

在Objective-c中导入Swift文件会导致这个错误,如果导入不正确的话。

注意:你不需要从外部导入Swift文件,你只需要导入一个文件来照顾Swift文件。

当你在Objective-C项目中创建/复制Swift文件时。它会自动创建一个桥接头。

检查Objective-C生成的接口头名称在目标->构建设置。

基于以上,我将按原样导入KJExpandable-Swift.h。

你的将是TargetName- swift .h,其中TargetName根据你的项目名称或你可能添加并在其上运行的另一个目标而不同。

因为下面我的目标是KJExpandable,所以它是KJExpandable- swift .h

在项目中找到. pch文件。然后添加#import "YourProjectName-Swift.h"这将导入类头文件。这样你就不需要导入到特定的文件中。

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif


#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    #import "YourProjectName-Swift.h"
#endif

小心使用破折号和下划线,它们可能会混淆,并且您的项目名称和目标名称不会与SWIFT_MODULE_NAME相同。

如果你正在使用Cocoapods,并试图在ObjC项目中使用Swift pod,你可以简单地执行以下操作:

@import < FrameworkName >;