CSProperty.h
826 Bytes
//
// CSProperty.h
// CocoaSettings
//
// Created by Yunpeng Li on 2019/8/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface CSProperty : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) Class clazz;
/**
property的Type Encoding
参见: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html
*/
@property (nonatomic, copy) NSString *typeEncoding;
+ (instancetype)propertyWithName:(NSString *)name clazz:(Class)clazz typeEncoding:(NSString *)typeEncoding;
@end
/**
获取一个类的全部属性
@param clazz 类类型
@return NSDictionary key为属性名,value为CSProperty
*/
extern NSDictionary<NSString *, CSProperty*> *CSPropertiesFromClass(Class clazz);
NS_ASSUME_NONNULL_END