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

当将Swift桥接到React-Native时,“不是公认的Objective-C方法”

发布时间:2020-12-14 05:19:31 所属栏目:百科 来源:网络整理
导读:我试图将我的React-Native 0.33代码链接到一个超级简单的 Swift方法,在 this guide之后,但是我得到的只是显示:( NSString *)名称不是一个公认的Objective-C方法. 这是我的代码: SwitchManager.swift import Foundation@objc(SwitchManager)class SwitchMana
我试图将我的React-Native 0.33代码链接到一个超级简单的 Swift方法,在 this guide之后,但是我得到的只是显示:( NSString *)名称不是一个公认的Objective-C方法.

这是我的代码:

SwitchManager.swift

import Foundation

@objc(SwitchManager)
class SwitchManager: NSObject {

  @objc func show(name: String) -> Void {
    NSLog("%@",name);
  }

}

SwitchManagerBridge.h

#import "RCTBridgeModule.h"

@interface RCT_EXTERN_MODULE(SwitchManager,NSObject)

RCT_EXTERN_METHOD(show:(NSString *)name)

@end

SwitchManager桥接,Header.h

#import "RCTBridgeModule.h"

然后在我的index.ios.js文件中,我从“NativeModules”导入导入{SwitchManager}的SwitchManager;并调用SwitchManager.show(‘One’);.这是错误发生的地方.

不知道怎么了

我一整天都在和这个问题进行斗争.通过将Swift编译器设置为使用Legacy版本(XCode 8更喜欢Swift 3)解决,所以在:

构建设置>向下滚动到“使用旧版Swift语言版本”设置为是.

(编辑:李大同)

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

    推荐文章
      热点阅读