根据Dictionary KEY 自动生成属性

来源:互联网 发布:吴闲云水浒知乎 编辑:程序博客网 时间:2024/05/21 18:34
#import <Foundation/Foundation.h>@interface NSObject (propertyCode)/** *  自动生成属性申明Code * *  @param dict 传入的字典 */+ (void)propertyCodeWithDictionary:(NSDictionary *)dict;@end
#import "NSObject+propertyCode.h"@implementation NSObject (propertyCode)// 自动生成属性声明的代码+ (void)propertyCodeWithDictionary:(NSDictionary *)dict{    NSMutableString *strM = [NSMutableString string];    [dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {        NSString *str;        NSLog(@"%@",[obj class]);        if ([obj isKindOfClass:NSClassFromString(@"__NSCFString")] || [obj isKindOfClass:NSClassFromString(@"NSTaggedPointerString")] || [obj isKindOfClass:NSClassFromString(@"__NSCFConstantString")]) {            str = [NSString stringWithFormat:@"@property (nonatomic, copy) NSString *%@;",key];        }        if ([obj isKindOfClass:NSClassFromString(@"__NSCFNumber")]) {            str = [NSString stringWithFormat:@"@property (nonatomic, assign) int %@;",key];        }        if ([obj isKindOfClass:NSClassFromString(@"__NSCFArray")]) {            str = [NSString stringWithFormat:@"@property (nonatomic, copy) NSArray *%@;",key];        }        if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary")]) {            str = [NSString stringWithFormat:@"@property (nonatomic, copy) NSDictionary *%@;",key];        }        if ([obj isKindOfClass:NSClassFromString(@"__NSCFBoolean")]) {            str = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",key];        }        [strM appendFormat:@"\n%@\n",str];    }];    NSLog(@"%@",strM);}

0 0
原创粉丝点击