加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 获取错误Receiver for class message是一个前向声明

发布时间:2020-12-14 19:31:06 所属栏目:百科 来源:网络整理
导读:我正在创建自己的框架,我添加了客观的c文件和它的工作正常后我需要添加一些 swift文件后添加 swift文件xcode不给我选择自动创建桥接然后我跟着 Mix and Match approach.我跟着一切我理解这件事. 我想访问swift文件到Objective c但是我收到了前向声明的错误所
我正在创建自己的框架,我添加了客观的c文件和它的工作正常后我需要添加一些 swift文件后添加 swift文件xcode不给我选择自动创建桥接然后我跟着 Mix and Match approach.我跟着一切我理解这件事.

我想访问swift文件到Objective c但是我收到了前向声明的错误所以这里是我附加的示例代码,请指导我在哪里做错了.

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];

如附图所示.

enter image description here

解决方法

最后我得到了解决方案我做了以下更改.以下是您的框架中的待办事项列表.

Objective C类中的Swift类用法

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

我遵循Apple Mix and Match方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读