ios 闪退问题

Randy
  • 911

现在有个问题是,ios一般请求服务端数据,如果数据合适不对然后立马闪退,如何避免呢?

回复
阅读 3.3k
3 个回答

这个服务端和本地都可以处理,按要求我还是主要谈谈客户端这边处理吧。

  1. 服务端处理。服务端处理其实也很简单,不要有 null 存在就行了,其实 iOS 端也没有那么娇气。

如果你使用了 JSONModel 一类的 Modelling Framework,在获取 JSON 数据的时候,只要客户端不存在 null 还是不会崩的,取值的时候才会崩,所以服务端不要有 null 存在就行,这段服务端要求已经很低了

  1. 那客户端崩溃容易出现在哪里呢,JSON 取值,用不用 Modelling Framework,绝大部分是 :ObjectForKey 来获取值的时候,那 Category 一个 Class 来处理就行了,具体怎么做,可以看看这个

    https://github.com/shaojiankui/NSDictionary-SafeAccess
    

    这个 demo 写得非常简单易懂,其实这类异常处理在 Java 中已经非常成熟了,iOS 项目中反倒经常容易出现,经常看到新人的项目崩崩崩,Android 的倒很少

= =。 Swift 普及就好了

一般不就是返回的数据里面有空值,进而调用的时候有空指针出现才出现闪退的么,你把请求过来的数据加上空值判断,这样就健壮了

在返回可能为空值的地方,加一个判断,只有不为空的时候才继续执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏