今天测试机里有个iPhone5在显示时间戳的时候数据显示错误,在其他机型都显示正确但在这个机子上都显示是1969-12-21年,查了原因才发现是这个机型是32位的
所以在处理接口数据并渲染到界面上时要做32位系统的特殊处理即做如下判断
if (sizeof(void*) == 4) {
// 32位
} else if (sizeof(void*) == 8) {
// 64位
}
对32位的显示nsinteger数据的方式当然和一般的处理方式不同 即:
在model中对出问题的字段尽量用long long类型,而舍弃nsinteger,
在对model中显示数值的字符串属性,在转化为nsinteger时,尽量对出问题的情况加以修改,改为data.floatValue,用@“.f%”承接 如图
![](https://img.haomeiwen.com/i3722557/08da9a966bdb0bd2.png)
所以,coding的时候尽量杜绝想当然和先入为主,自己动手试一试。
网友评论