0
我想創建一個本機swift模塊,我可以在我的JavaScript代碼中調用該函數。目前我有我的module.swift
文件,我的module.m
文件和橋接頭。反應本機Swift中的回調函數
這裏的MyModule.swift:
import Foundation
@objc(MyModule)
class MyModule: NSObject {
@objc func callbackMethod(callback: RCTResponseSenderBlock) -> Void {
let resultsDict = [
"success" : true
];
callback([NSNull() ,resultsDict])
}
}
這裏的MyModule.m:
import Foundation
@objc(AskPermissions)
class AskPermissions: NSObject {
@objc func callbackMethod(callback: RCTResponseSenderBlock) -> Void {
let resultsDict = [
"success" : true
];
print("GLARGH!")
callback([NSNull() ,resultsDict])
}
}
這裏的橋接報:
#import React/RCTBridgeModule.h
#import React/RCTEventEmitter.h
最後,這裏是我的電話在javascript:
const { MyModule } = require('NativeModules');
MyModule.callbackMethod((err,r) => console.log(r));
的問題是,每當我運行該項目,它會導致一個錯誤:
Exception 'callbackMethod:(RCTResponseSenderBlock)callback is not a recognized Objective-c
method.'
但是,我找不到任何錯誤的文檔。有人可以提供一些幫助嗎?
我不是原生代碼,很好,但是這是可能的,因爲你是混合Objective-C和迅速? – bennygenel
試着改變你的 「MyModule.m」 到 '#進口<反應,和/ RCTBridgeModule.h> @interface RCT_EXTERN_MODULE(MyModule的,NSObject的) RCT_EXTERN_METHOD(callbackMethod:(RCTResponseSenderBlock)回調) @ end' – PTT