美文网首页
我与array.count的"爱恨情仇"

我与array.count的"爱恨情仇"

作者: Michale_Zuo | 来源:发表于2019-05-25 10:24 被阅读0次

 最近在项目中遇到一个现象很奇葩的问题,进入某个页面一直卡在那里了,第一反应是不是什么骚操作导致了主线程的阻塞。没办法这种问题真是只有一步步的调试了。在最后的最后奋斗下,找到了原因。
 阐述下问题的原因,我的某个页面数据源是一个array包装的,由于某个页面的布局是一行有2个,所以我计算某个页面的其中一个模块视图的时候采用了如下的算法

这是伪代码喔
NSUInteger row = (array.count + 1) / 2 - 1;

 写这个方法的时候考虑到array.count == 0 的时候为-1, array.count > 0的时候计算正确,自认为考虑的比较周全了。但是,"知道真相的我,眼泪掉下来"。请看下图

图1

 count1是最大值,count2为-1,大家知道是什么原因了吧!array的count属性是NSUInteger类型(无符号整型)

 无符号整型没有负数,当赋值为负数的时候,就会出现问题

图2

当给一个NSUInteger类型的值赋值为-1的时候就是给了一个整型最大值(MAX),可以从图中看出规律负数的数值是从最大值倒叙赋值的。

 当数据源count为0,我的方法计算出来的为一个最大高度,系统一直在给这个视图进行计算,渲染主线程"小哥哥"一直都很忙,没时间搞其他事情了。所以就卡在那里了!

相关文章

  • 我与array.count的"爱恨情仇"

     最近在项目中遇到一个现象很奇葩的问题,进入某个页面一直卡在那里了,第一反应是不是什么骚操作导致了主线程的阻塞。没...

  • 电与磁的爱恨情仇 变成了一座桥 连接着 你的爱恨情仇

  • 我的6年爱恨情仇

    今天跟大家聊点简单的,说说我与基金的“爱恨情仇” 说起我和基金的爱恨情仇,这可太多了! 它给了我赚钱的快乐,亏钱的...

  • 我与钢琴的爱恨情仇

    小时候,我对音乐特别感兴趣。只要一听到优美的乐曲,就会站在那里一动不动,目不转睛地盯着演奏者。妈妈看到后,就找了一...

  • 我与滴滴的爱恨情仇

    这两天新闻又狂轰乱炸,时隔三个月,郑州空姐遇害案后,温州20岁幼儿园老师也不幸遭遇滴滴顺风车司机侵害。 为两位年轻...

  • 我与考试的爱恨情仇

    写在前面的话: 墨言社,是一个小小的文学社。我们不追求突出,只追求简朴。墨言,同莫言。意为朴素,低调。我们文学社旨...

  • 我与奶奶的爱恨情仇

    1. 我从来没有想过一个那么强势的人也会老,我印象里的奶奶是凶狠的,是固执的,是带有偏见的,如果要我形容,我还会说...

  • 我与保险的爱恨情仇

    提起保险,大家一定耳熟能详, 现在社会已是保险生活化,让生活保险化,家家有保险,让人人有保障。可是15年前的经历让...

  • 我与手绘的爱恨情仇

    如果没有读研,我永远不知道,人生原来会有那么多可能性,永远不知道人除了学习、工作以外还有生活。很感谢研一的某一个中...

  • 我与Decentraland的“爱恨情仇”!

    最近几天有点郁闷,我因为人的最原始的本能——睡觉,与我钟爱的decentraland的ICO失之交臂。 或许这是天...

网友评论

      本文标题:我与array.count的"爱恨情仇"

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