ios - 异常 : addEvent is not a recognised Objective

我正在将 swift 类移植到 ReactNative。

我的 CalendarManager.Swift 类

CalendarManager.Swift

 import Foundation;


import UIKit;
// CalendarManager.swift

@objc(CalendarManager)
class CalendarManager: NSObject {

  @objc
  func addEvent(_name: String, location: String, date: NSNumber) -> Void {
    // Date is ready to use!

      NSLog("%@ %@ %S", _name, location, date);
   // self.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)
  }

}

我的 objective-c 类

CalendarManager.m

#import <Foundation/Foundation.h>

#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_MODULE(CalendarManager , NSObject)

RCT_EXTERN_METHOD(addEvent: (NSString *)name location:(NSString *)location date:(NSNumber *)date)

@end

SwiftBridge-header

#import <React/RCTBridgeModule.h>

请告诉我如何减少跟随误差。

最佳答案

尝试为 Objective-C 提供方法描述

你的名字:

@objc
  func addEvent(_name: String, location: String, date: NSNumber)...

尝试将其更改为:

@objc(addEvent:::)
  func addEvent(name: String, location: String, date: NSNumber)...

其中,':' 代表一个参数,因为函数接收 3 个,所以会有 3 个冒号,或者您也可以传递变量名,尽管这无关紧要。

关于ios - 异常 : addEvent is not a recognised Objective C method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824276/

相关文章:

vue.js - 如何处理具有多个参数(例如表格数据)的查询的 Apollo 缓存更新

spring-boot - Liquibase 和 Hibernate ddl-auto=updat

python - 如何将python应用程序连接到在线数据库

angular7 - PrimeNG 表列排序不起作用

.net - 如何在 .NET Core 的 IConfiguration 中获取自定义环境变量

r - 在 vector/data.frame 列上应用返回 data.frame/tibble 的

reactjs - 找不到模块 : Can't resolve 'react-native'

python - 无法关闭 gtk 对话窗口

angular-material2 - Angular Material2 Mat-Table服务器

python - “Tensor”对象不能使用 Keras 和 seq2seq 模型调用