获取错误接收器的类消息是一个前向声明

我正在创build自己的框架,我添加了客观的C文件,其工作正常之后,我需要添加一些SWIFT文件后添加swift文件xcode不给我自动创build桥接的选项,然后我遵循混合和匹配的方法 。 我遵循我所理解的一切。

我想要访问到目标C的SWIFT文件,但我得到了前向声明的错误,所以这里是示例代码,我附上,请指导我在哪里做错了。

TestObjectCFile.h

#import <Foundation/Foundation.h> @class TestSwiftFile; @interface TestObjCFile : NSObject @end 

TestObjectCFile.m

 #import "TestObjCFile.h" #import <TestFrameworkTry/TestFrameworkTry-Swift.h> #import "TestFrameworkTry.h" @implementation TestObjCFile - (void)TestMethodForImportingSwiftFile { TestSwiftFile * testSwiftFile = [[TestSwiftFile alloc] init]; // TestSwiftFile * testSwiftFile = [self returnSwiftClassInstance]; NSLog(@"%@",testSwiftFile); } @end 

TestSwiftFile.swift

 import Foundation 

下面的行在TestObjectCFile.m上发生错误。

 TestSwiftFile * testSwiftFile = [[TestSwiftFile alloc] init]; 

如附图所示。 在这里输入图像说明

最后我得到解决scheme。 我做了以下更改。 下面是在你的框架中做的清单。

Objective C类中的Swift类用法

  • 在Swift的类名前使用打开关键字
  • 在打开Swift类的关键字之前使用@objc关键字
  • 在Umbrella文件中导入目标c类的所有头文件YourProject.h那些正在使用Swift类。
  • 在目标c中使用#import <YourProjectName/YourProjectName-Swift.h>

我遵循Apple Mix和Match的方法。