在我在Xcode中实现RCTBridgeModule
协议的类中,我正在尝试编写一个RCT_EXPORT_MEATHOD
,我可以将其暴露给React Native代码以使用图像数据。目前,我可以在React Native中将图像写入磁盘,然后将路径传递给本机方法,但是我想知道是否有更好的技术可以直接传递图像数据以获得更好的性能?
所以不是这样:
RCT_EXPORT_METHOD(scanImage:(NSString *)path) {
UIImage *sampleImage = [[UIImage alloc] initWithContentsOfFile:path];
[self processImage: UIImage];
}
更像这样:
RCT_EXPORT_METHOD(scanImage:(NSData *)imageData) {
[self processImageWithData: imageData];
}
答案 0 :(得分:0)
您可以使用[RCTConvert UIImage:icon]
#import <React/RCTConvert.h>
方法
您需要将“架构”指定为“数据”。 有关更多详细信息,请查看以下源代码: https://github.com/facebook/react-native/blob/master/React/Base/RCTConvert.m#L762
答案 1 :(得分:0)
对我来说,这可行:
NSURL *url = [NSURL URLWithString:[imagePath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:url]];
imagePath
是NSString
来自于本机反应桥(使用react-native-image-picker
的响应-response.uri
)。