我正在创建自己的框架,我添加了客观的c文件和它的工作正常后,我需要添加一些swift文件后添加swift文件xcode不给我选择自动创建桥接然后我遵循混合和匹配的方法.我遵循了我理解的一切.
我想访问swift文件到Objective c但是我收到了前向声明的错误所以这里是我附加的示例代码,请指导我在哪里做错了.
TestObjectCFile.h
#import@class TestSwiftFile; @interface TestObjCFile : NSObject @end
TestObjectCFile.m
#import "TestObjCFile.h" #import#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];
如附图所示.
最后我得到了解决方案 我做了以下更改.以下是您的框架中的待办事项列表.
Objective C类中的Swift类用法
在Swift中使用类名之前的Open Keyword
在打开Swift类的关键字之前使用@objc关键字
在Umbrella文件中导入目标c类的所有头文件YourProject.h那些正在使用Swift类.
#import
在目标c中使用
我遵循Apple Mix and Match方法.