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

最近在开发中碰到一个奇怪的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,因此在设置选中状态时就会导致程序崩溃。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容