2

我正在将 swift 类移植到 ReactNative。

我的 CalendarManager.Swift 类

日历管理器.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)
  }

}

我的目标C班

日历管理器.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>

请让我知道如何减少以下错误。

在此处输入图像描述

4

1 回答 1

0

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

你的名字:

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

尝试将其更改为:

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

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

于 2021-09-08T08:14:34.243 回答