123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifdef SHOULD_COMPILE_LOOKIN_SERVER
- //
- // LookinAttribute.h
- // qmuidemo
- //
- // Created by Li Kai on 2018/11/17.
- // Copyright © 2018 QMUI Team. All rights reserved.
- //
- #import "LookinAttrIdentifiers.h"
- #import "LookinCodingValueType.h"
- #import "LookinAttrType.h"
- @class LookinDisplayItem;
- @interface LookinAttribute : NSObject <NSSecureCoding, NSCopying>
- @property(nonatomic, copy) LookinAttrIdentifier identifier;
- /// 只有 Custom Attr 才有该属性
- @property(nonatomic, copy) NSString *displayTitle;
- /// 标识 value 的具体类型(如 double / NSString /...)
- @property(nonatomic, assign) LookinAttrType attrType;
- /// 具体的值,需配合 attrType 属性来解析它
- /// 对于 String、Color 等 attyType,该属性可能为 nil
- @property(nonatomic, strong) id value;
- /// 额外信息,大部分情况下它是 nil
- /// 当 attyType 为 LookinAttrTypeEnumString 时,extraValue 是一个 [String] 且保存了 allEnumCases
- @property(nonatomic, strong) id extraValue;
- /// 仅 Custom Attr 可能有该属性
- /// 对于有 retainedSetter 的 Custom Attr,它的 setter 会以 customSetterID 作为 key 被保存到 LKS_CustomAttrSetterManager 里,后续可以通过这个 uniqueID 重新把 setter 从 LKS_CustomAttrSetterManager 里取出来并调用
- @property(nonatomic, copy) NSString *customSetterID;
- #pragma mark - 以下属性不会参与 encode/decode
- /// 标识该 LookinAttribute 对象隶属于哪一个 LookinDisplayItem
- @property(nonatomic, weak) LookinDisplayItem *targetDisplayItem;
- - (BOOL)isUserCustom;
- @end
- #endif /* SHOULD_COMPILE_LOOKIN_SERVER */
|