前提:一个图片容器view,该view的height需要通过照片imageArray.count * 固定图片高度h来确定。

  • 我是这样写的:
1
return (self.imageArray.count / 4) * h;

即,每行4张图片,总图片除以4获得行数,再乘以h,来获得view的高度。

然而,在测试的时候发现,view返回的高度有时候正确,有时候不正确。打了断点跟踪一下代码才发现自己的错误所在,如图:

  • 问题原因

NSArraycountNSUInteger类型,即无符号长整型,在C下,整型相除商也为整型。所以返回值不正确也在情理之中了。这也从侧面反映了自己基础不够扎实,在实际工作中容易犯想当然的这种错误。

  • 解决问题
1
return count % 4 ? (count / 4 + 1 ) * h : count / 4 * h;