developer
2023-05-20 e12c7b4c22df631ebdcd16b2f98fbef8f738f92f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 * AlibcJSONModelProperty.h 
 *
 * 阿里百川电商
 * 项目名称:阿里巴巴电商 AlibcTradeBiz 
 * 版本号:4.0.0.9
 * 发布时间:2019-10-31
 * 开发团队:阿里巴巴商家服务引擎团队
 * 阿里巴巴电商SDK答疑群号:1488705339  2071154343(阿里旺旺)
 * Copyright (c) 2016-2020 阿里巴巴-淘宝-百川. All rights reserved.
 */
 
#import <Foundation/Foundation.h>
/*
 相关知识请参见Runtime文档
 Type Encodings https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html#//apple_ref/doc/uid/TP40008048-CH100-SW1
 Property Type String https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtPropertyIntrospection.html#//apple_ref/doc/uid/TP40008048-CH101-SW6
 */
typedef NS_ENUM(NSInteger, AlibcJSONModelPropertyValueType) {
    AlibcClassPropertyValueTypeNone = 0,
    AlibcClassPropertyTypeChar,
    AlibcClassPropertyTypeInt,
    AlibcClassPropertyTypeShort,
    AlibcClassPropertyTypeLong,
    AlibcClassPropertyTypeLongLong,
    AlibcClassPropertyTypeUnsignedChar,
    AlibcClassPropertyTypeUnsignedInt,
    AlibcClassPropertyTypeUnsignedShort,
    AlibcClassPropertyTypeUnsignedLong,
    AlibcClassPropertyTypeUnsignedLongLong,
    AlibcClassPropertyTypeFloat,
    AlibcClassPropertyTypeDouble,
    AlibcClassPropertyTypeBool,
    AlibcClassPropertyTypeVoid,
    AlibcClassPropertyTypeCharString,
    AlibcClassPropertyTypeObject,
    AlibcClassPropertyTypeClassObject,
    AlibcClassPropertyTypeSelector,
    AlibcClassPropertyTypeArray,
    AlibcClassPropertyTypeStruct,
    AlibcClassPropertyTypeUnion,
    AlibcClassPropertyTypeBitField,
    AlibcClassPropertyTypePointer,
    AlibcClassPropertyTypeUnknow
};
 
@interface AlibcJSONModelProperty : NSObject{
    @public
    NSString *_name;
    AlibcJSONModelPropertyValueType _valueType;
    NSString *_typeName;
    Class _objectClass;
    NSArray *_objectProtocols;
    Class _containerElementClass;
    BOOL _isReadonly;
}
 
+ (instancetype)propertyWithName:(NSString *)name typeString:(NSString *)typeString;
 
@end