• YYModel使用指引


    模型->jsonString
     方式1.
     NSDictionary *paramDict = getTakeupInfo.yy_modelToJSONObject;
     NSData *jsonData = [NSJSONSerialization dataWithJSONObject:paramDict/*getTakeupInfo.mj_keyValues*/
                                                        options:NSJSONWritingPrettyPrinted
                                                          error:nil ];
     NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
     方式2 [queryCalendarInfo yy_modelToJSONString];
    
    模型->字典
    [outputInfo yy_modelToJSONObject];
    
     jsonString -> 模型
     id param = [outputInfo.D yy_modelToJSONObject];
     AddEventCallbackInfo *addEventCallbackInfo = [AddEventCallbackInfo yy_modelWithDictionary:param];
     id paramDict = [inputInfo yy_modelToJSONObject];
     InputInfo *inputInfo = [InputInfo yy_modelWithDictionary:parameters];
    
     NSData *jsonData = [(NSString *)self.eventInfo.su dataUsingEncoding : NSUTF8StringEncoding];
     NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL];
     InputInfo *inputInfo = [InputInfo yy_modelWithDictionary:dict];
    
    NSString *str = userTakeupInfo.P;
    NSData *jsonData = [(NSString *)str dataUsingEncoding : NSUTF8StringEncoding];
    ContactInfo *contactInfo = nil;
    if(jsonData){
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL];
        contactInfo = [ContactInfo yy_modelWithDictionary:dict];
    }
    
    
     jsonString ->模型数组
     NSArray *array = [NSArray yy_modelArrayWithClass:[UserTakeupInfo class] json:outputInfo.D];
     NSMutableArray *userTakeupInfoArray = [NSMutableArray arrayWithArray:array];
     
     模型数组 -> JsonString
     [contactInfoArray yy_modelToJSONString]
    
     模型数组->字典数组
    id param = [corpDomainArray yy_modelToJSONObject];
    
     
     json字典数组-> 字典数组
     NSData *jsonData = [(NSString *)dataJson dataUsingEncoding : NSUTF8StringEncoding];
     NSArray *dictDataArray = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL];
     
    
    
    #import <YYModel/YYModel.h>
     
     + (NSDictionary *)modelContainerPropertyGenericClass {
         return @{@"p" : [PageInputInfo class]
                 };
     }
     
    TokenLoginOutServerInfo 中的IPList无法进行转换对应属性 ,手动再次转换了一次
    NSData *jsonData = [(NSString *)serverInfo dataUsingEncoding : NSUTF8StringEncoding];
    NSDictionary *param = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL];
    //                id param = [serverInfo yy_modelToJSONObject];
    TokenLoginOutServerInfo *outServerInfo = [TokenLoginOutServerInfo yy_modelWithDictionary:param];
    NSArray *array = [NSArray yy_modelArrayWithClass:[TokenLoginOutServerIPInfo class] json:[param objectForKey:@"IPList"]];
    outServerInfo.IPList = array;
    
    
     
     //返回一个 Dict,将 Model 属性名对映射到 JSON 的 Key。
     + (NSDictionary *)modelCustomPropertyMapper {
         return @{@"name" : @"n",
                  @"page" : @"p",
                  @"desc" : @"ext.desc",
                  @"bookID" : @[@"id",@"ID",@"book_id"]};
     }
     
     // 字典转模型
     + (nullable instancetype)modelWithDictionary:(NSDictionary *)dictionary;
     // json转模型
     + (nullable instancetype)modelWithJSON:(id)json;
     // 模型转NSObject
     - (nullable id)modelToJSONObject;
     // 模型转NSData
     - (nullable NSData *)modelToJSONData;
     // 模型转json字符串
     - (nullable NSString *)modelToJSONString;
     // 模型深拷贝
     - (nullable id)modelCopy;
     // 判断模型是否相等
     - (BOOL)modelIsEqual:(id)model;
     // 属性数据映射,用来定义多样化数据时转换声明
     + (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper;
     // 属性自定义类映射,用来实现自定义类的转换声明
     + (nullable NSDictionary<NSString *, id> *)modelContainerPropertyGenericClass;
     // 属性黑名单,该名单属性不转换为model
     + (nullable NSArray<NSString *> *)modelPropertyBlacklist;
     // 属性白名单,只有该名单的属性转换为model
     + (nullable NSArray<NSString *> *)modelPropertyWhitelist;
     // JSON 转为 Model 完成后,该方法会被调用,返回false该model会被忽略
     // 同时可以在该model中做一些,转换不能实现的操作,如NSDate类型转换
     - (BOOL)modelCustomTransformFromDictionary:(NSDictionary *)dic;
     // Model 转为 JSON 完成后,该方法会被调用,返回false该model会被忽略
     // 同时可以在该model中做一些,转换不能实现的操作,如NSDate类型转换
     - (BOOL)modelCustomTransformToDictionary:(NSMutableDictionary *)dic
  • 相关阅读:
    LR12解决不能打开webTours服务问题
    python中join()方法介绍
    python中的sort方法和sorted方法
    如何发送最新的测试报告到目标邮箱?
    python2.7发送邮件失败之——邮箱安全问题
    python2.7发送邮件失败之——代码问题
    python2.7发送邮件失败之——SMTPAuthenticationError问题
    使用HTMLTestRunner在目标目录下并未生成HTML文件解决办法
    python标准日志模块logging及日志系统设计
    性能测试需求分析
  • 原文地址:https://www.cnblogs.com/HJiang/p/16263559.html
Copyright © 2020-2023  润新知