zoukankan      html  css  js  c++  java
  • JSONKit 在iOS9 arm7 64位下出现的问题

     

    最近遇到了一个关于JSONKit的问题,在项目加了arm7 64位以后,JSONKIT会出现[params JSONString] forKey:@”gson”];报错的情况,如下图

    Mou icon

    具体原因不太清楚,这是iOS9出现的新问题,好像是字典变字符串时出问题了。下面直接附上解决办法:

    1. 找到JSONKit.h文件,在JSONKit.h文件中找到 @interface NSDictionary (JSONKitSerializing),在其中添加一个XMJSONString方法,如下图
      Mou icon

    2. 找到JSONKit.m文件,在JSONKit.m文件中实现刚才添加的方法,实现如下图
      Mou icon
      附上实现代码:

      - (NSString *)XMJSONString{
          NSError *error = nil;
          NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self
                                                             options:NSJSONWritingPrettyPrinted
                                                               error:&error];
             if ([jsonData length] && error == nil){
              NSString *jsonString = [[NSString alloc] initWithData:jsonData
                                                           encoding:NSUTF8StringEncoding];
              NSString *replaceString = [jsonString stringByReplacingOccurrencesOfString:@"
      " withString:@""];
              NSString *treplaceString = [replaceString stringByReplacingOccurrencesOfString:@"\" withString:@""];
              return [treplaceString stringByReplacingOccurrencesOfString:@" " withString:@""];
          }else{
              return nil;
          }
      }
      

    PS:如果不知道怎么去添加方法的话,可以去云盘中下载改写好的JSONKit的.h和.m文件,然后直接把这两个文件替换掉就行。这里是云盘链接: http://pan.baidu.com/s/1gd59ed9 密码: s5eh
    注意,文件替换之后,JSONKit可能会出现19个关于ARC的错误,在项目里找到TARGETS-Build Phases,加上如下图的设置即可
    Mou icon

    最后,不要忘记在这里使用的方法改为你刚才添加的方法(- (NSString *)XMJSONString)哦。格式为:

    [request addPostValue:[params XMJSONString]];
    if (type.length != 0) {
    
    }
    

    Mou icon

  • 相关阅读:
    运行期优化
    虚拟机字节码执行引擎
    虚拟机类加载机制
    类文件结构
    垃圾收集机制
    浅析Spring MVC工作机制
    TomCat系统架构
    docker安装mongo初体验
    微服务笔记--概念
    使用maven构建多模块项目_记录
  • 原文地址:https://www.cnblogs.com/CodingMann/p/5109406.html
Copyright © 2011-2022 走看看