问题描述
我一直在关注这个tutorial,它谈论的是如何与React Native和目标C进行通信。我遵循了该教程,并取得了良好的效果。当我想添加一个名为sendData的新函数时,问题就开始了。这将在JS中调用,它将传递一个字符串,而在目标C中,它将接收该字符串。
但是,桥接没有用。
这是我的代码:
RCT_REMAP_METHOD(sendData : (Nsstring*)str,sendData_resolver:(RCTPromiseResolveBlock)resolve
sendData_rejecter:(RCTPromiseRejectBlock)reject)
{
BOOL response = [_cppApi sendData];
resolve(response);
}
此代码在Xcode中给出错误No visible @interface for 'CCCppCom' declares the selector 'sendData'
。 (CCCppCom是头文件)
我有另一个功能,即getData似乎可以正常工作。
RCT_REMAP_METHOD(getData,resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
Nsstring *response = [_cppApi getData];
resolve(response);
}
我不太确定这里发生了什么。我检查了CCCppCom,确实有sendData。
有人可以帮助我吗?预先感谢。
解决方法
我通过使用RCT_EXPORT_METHOD而不是RCT_REMAP_METHOD解决了这个问题。