From c37e9c89058712e0abba6bfd54e7451c27f0b971 Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Mon, 29 Apr 2019 06:33:02 -0700 Subject: [PATCH] Add convert compatible of NSString for bridge message data (#24630) Summary: Fixes https://twitter.com/estevao_lucas/status/1117572702083190785?s=215 in #24626 . Now we try to convert any id to `NSString`, not throw error. cc. cpojer . [iOS] [Fixed] - Add convert compatible of NSString for bridge message data Pull Request resolved: https://github.com/facebook/react-native/pull/24630 Differential Revision: D15120205 Pulled By: cpojer fbshipit-source-id: 4849a8e941410b292f971608a9cdb38c11502445 --- React/Base/RCTConvert.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/React/Base/RCTConvert.m b/React/Base/RCTConvert.m index fcb8ec167..bc9b71bf0 100644 --- a/React/Base/RCTConvert.m +++ b/React/Base/RCTConvert.m @@ -53,12 +53,21 @@ RCT_NUMBER_CONVERTER(NSUInteger, unsignedIntegerValue) RCT_JSON_CONVERTER(NSArray) RCT_JSON_CONVERTER(NSDictionary) -RCT_JSON_CONVERTER(NSString) RCT_JSON_CONVERTER(NSNumber) RCT_CUSTOM_CONVERTER(NSSet *, NSSet, [NSSet setWithArray:json]) RCT_CUSTOM_CONVERTER(NSData *, NSData, [json dataUsingEncoding:NSUTF8StringEncoding]) ++ (NSString *)NSString:(id)json +{ + if ([json isKindOfClass:NSString.class]) { + return json; + } else if (json && json != (id)kCFNull) { + return [NSString stringWithFormat:@"%@",json]; + } + return nil; +} + + (NSIndexSet *)NSIndexSet:(id)json { json = [self NSNumberArray:json];