mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Move RCTConvertSelectorForType to their respective using modules
Reviewed By: javache Differential Revision: D6137419 fbshipit-source-id: a30193469e7a061331d3d6798324475890c75625
This commit is contained in:
committed by
Facebook Github Bot
parent
c0fea385d8
commit
bbc90b4dc2
@@ -14,6 +14,7 @@
|
||||
#import "RCTBridge.h"
|
||||
#import "RCTBridgeModule.h"
|
||||
#import "RCTConvert.h"
|
||||
#import "RCTParserUtils.h"
|
||||
#import "RCTShadowView.h"
|
||||
#import "RCTUtils.h"
|
||||
#import "UIView+React.h"
|
||||
@@ -21,6 +22,16 @@
|
||||
typedef void (^RCTPropBlock)(id<RCTComponent> view, id json);
|
||||
typedef NSMutableDictionary<NSString *, RCTPropBlock> RCTPropBlockDictionary;
|
||||
|
||||
/**
|
||||
* Get the converter function for the specified type
|
||||
*/
|
||||
static SEL selectorForType(NSString *type)
|
||||
{
|
||||
const char *input = type.UTF8String;
|
||||
return NSSelectorFromString([RCTParseType(&input) stringByAppendingString:@":"]);
|
||||
}
|
||||
|
||||
|
||||
@implementation RCTComponentData
|
||||
{
|
||||
id<RCTComponent> _defaultView; // Only needed for RCT_CUSTOM_VIEW_PROPERTY
|
||||
@@ -196,7 +207,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S
|
||||
SEL selector = NSSelectorFromString([NSString stringWithFormat:@"propConfig%@_%@", isShadowView ? @"Shadow" : @"", name]);
|
||||
if ([_managerClass respondsToSelector:selector]) {
|
||||
NSArray<NSString *> *typeAndKeyPath = ((NSArray<NSString *> *(*)(id, SEL))objc_msgSend)(_managerClass, selector);
|
||||
type = RCTConvertSelectorForType(typeAndKeyPath[0]);
|
||||
type = selectorForType(typeAndKeyPath[0]);
|
||||
keyPath = typeAndKeyPath.count > 1 ? typeAndKeyPath[1] : nil;
|
||||
} else {
|
||||
return ^(__unused id view, __unused id json) {};
|
||||
|
||||
Reference in New Issue
Block a user