我正在尝试为React Native实现本机iOS SDK。到目前为止,我已经能够在文档之后启动主要模块和方法,但在类实例方面遇到了问题。
这是我的情景。假设RCT_EXPORT_METHOD
采用将从SDK返回某些状态的回调。此状态是SDK中的类的实例,包含一些方法和道具。我可以轻松地将属性转换为NSDictionary
并将其序列化到应用程序,但我不确定如何处理这些方法。
我可以在主模块上添加它们,但我不喜欢在主模块上公开所有子类模块的模式。另外,由于这些方法特定于实例,我不确定如何在应用程序中指定调用该方法的实例。
我对Native Modules的理解是,他们更多的是单例模式而不是类,所以即使我为每个SDK类类型创建了具有自己的RCT_EXPORT_METHOD
调用的本机模块,我也不能弄清楚如何确定用于模块的SDK实例。
以下是我试图转换的一些类的快速示例。
Channels
NSArray<Channel*> *listOfChannels;
- (void)refresh;
Channel
NSString *name;
NSDictionary *attributes;
NSArray<Message*> *messages;
- (void)setAttributes:(NSDictionary *)attributes;
- (void)setName:(NSString *)name;
- (void)postToChannel:(Message *)message;
我希望这一切都有道理..任何帮助都会非常感激。