我正在将 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应用程序连接到在线数据库
.net - 如何在 .NET Core 的 IConfiguration 中获取自定义环境变量
r - 在 vector/data.frame 列上应用返回 data.frame/tibble 的
reactjs - 找不到模块 : Can't resolve 'react-native'