美文网首页iOS Developer
记一个低级的错误

记一个低级的错误

作者: mercurygear | 来源:发表于2016-06-01 20:53 被阅读57次

现象

一个简单的App,在测试机iPhone6S上正常运行,准备打包了。临时发现需要iPhone5尺寸的应用截图,就开了iPhone5的模拟器,准备运行应用来截图。
结果发生了崩溃,一看崩溃堆栈,是访问Model的某个属性的时候崩溃了,报了访问错误地址的异常。当时觉得很奇怪,以为是获取回来的网络数据出错了,核对了一下,发现没问题。
再仔细看了下崩溃时的Model,除了有两个属性不正常之外,其他的属性值和类型都是正确的。下意识以为是那里内存写溢出了,把这个Model给破坏了,就review了下代码,发现没啥问题。
再回过头来细思一下,如果内存被覆写了,那Model不应该就那两个属性有问题,而其他正常。翻看了下Model的定义,结果就发现问题所在了。
出问题的那两个属性是NSString *类型的,但是错误地使用了assign修饰,导致问题的产生,修改成正确的copy修饰之后,一切正常了。

总结

这个问题的产生是因为最初先根据网络接口文档定义好了Model,出问题的两个属性在文档里说明是int类型的,只是调试的时候才发现文档不正确,实际传过来的是字符串。所以就把两个属性的类型改成了NSString *,但是忘记把修饰的assign改成copy了。一个粗心大意导致了这么个问题的出现。

相关文章

  • 记一个低级的错误

    现象 一个简单的App,在测试机iPhone6S上正常运行,准备打包了。临时发现需要iPhone5尺寸的应用截图,...

  • 低级错误

    2018年2月10日晚上,我最亲爱的奶奶不幸与世长辞。 悼念持续18天。按照家乡的风俗习惯,期间要做道场,...

  • 低级错误

    今天写了一天的选择框...刚刚才算真正的完成, 开始有四个下拉选择 城市和 排序本来可以共用一个界面 一个下拉Vi...

  • 低级错误

    人难免犯错。有的是人的智力、能力所不能及,有的是不可抗力的因素,有点则是因为人的疏忽大意不经意间犯下本不应...

  • 低级错误

    我们到底是谁?首先我们是人,那应该是高级动物,但你信吗?我们每天都在犯低级错误。比如说想健康长寿的人很多,每天早晨...

  • 低级错误

    大家说说怎么能少犯低级错误呢?真的和用不用心有关系吗?为什么有时候明明已经很认真了还是会犯错。好讨厌这样!有时都过...

  • 低级错误

    工作的地方离家只有12分钟的骑车距离,并且有专用的骑车道,不用走到机动车道上去。因此很安心,连红绿灯都不用等。 但...

  • 低级错误

    今天出来了测试结果,从结果来看,有好几个重要维度竟然被遗漏,真的是无语了,我自己心理好难受。为啥这么低级的错误都会...

  • 低级错误

    不知道那会我忙什么去了, 一篇文章的录用返修通知我居然没及时看邮箱, 时间是2021.4.21要求修好返回,我今天...

  • 低级错误

    昨天下午提前一小时下班去了趟老妈那边,吃完饭,唠嗑了一会,然后就回来了。回到家已经十一点半了,然后赶紧洗漱休息。 ...

网友评论

    本文标题:记一个低级的错误

    本文链接:https://www.haomeiwen.com/subject/tpwhdttx.html