自動生成屬性

史前圖騰發表於2017-12-13

// 自動生成屬性程式碼

- (void)createPropetyCode
{

    //模型中屬性根據字典的key

    //有多少個key,生成多少個屬性
    NSMutableString*codes = [NSMutableStringstring];

    //遍歷字典
    [self enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull
value, BOOL * _Nonnull
stop) {

  NSString *code =nil;
 
  NSLog(@"%@",[value class]);

  if ([value isKindOfClass:[NSString class]])
{
          code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSString *%@;",key];

  } else if([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]) 
{

       code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",key];
  } else if([value isKindOfClass:[NSNumber class]])
{

       code = [NSString stringWithFormat:@"@property (nonatomic, assign) NSInteger %@;",key];
  } else if([value isKindOfClass:[NSArray class]])
{

        code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",key];

     
  } else if([value isKindOfClass:[NSDictionary class]])
{
        code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary
*%@;",key];
  }

      // 拼接字串

     
  [codes appendFormat:@"\n%@\n",code];

 

    }];

   NSLog(@"%@",codes);

}
複製程式碼

相關文章