美文网首页
iOS开发设置tag值需要注意的事项

iOS开发设置tag值需要注意的事项

作者: 墨酒撕 | 来源:发表于2018-03-12 09:56 被阅读0次

    最近在开发中碰到一个奇怪的bug,原因其实挺简单,但是当时没有往这个方面想,决定写下来避免以后再犯类似的错误。

    这是接手别人的项目,然后这个地方的布局结构为:view+button(用来添加点击事件)+label(用来显示标题),点击全选会全部变为选中状态,点击某一个会单独变为选中状态。每一个view的tag对应当前数据在数组中的位置(0~count),每一个view里面的button的tag是固定的为101,这样在button的点击事件中先拿到button的superview,然后根据[subView viewWithTag:START_TAG + 1]取出当前点击的button,设置选中和反选状态。

    但是现在发现每次点击全选程序都会崩溃,当然肯定不是必现的,不然以前是怎么上架的(捂脸。。),那就是跟这个账号返回的数据有关了,根据排查定位到是因为点击了tag值为101的view导致崩溃的,然后发现,由于button的值固定为101,那么当view的tag值也为101时,再通过[subView viewWithTag:START_TAG + 1]去获取button时,得到的并不是button而是view,因此在设置选中状态时就会导致程序崩溃。

    相关文章

      网友评论

          本文标题:iOS开发设置tag值需要注意的事项

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