最近做项目用到tableview的重用机制,在使用过程中出现了关于重用机制引起的问题,下面先描述一下我的问题: 1.当我通过cellForRowAtIndexPath函数获取某一行的cell(我自定义cell,里面有个textfield)的数据时,有时成功,有时不成功,即textfield里的值有时是我期待的值,有时确实0(我数据是20到500的范围)。
测试发现:
当我要取第一行的数据时,第一行可见时,获取数据正常。
当向上滚动tableview,第一行不可见时,获取的数据为0。
分析原因:
当某一行不可见时,tableview的重用机制将回收这个单元格,以待重用,所我可能获取到的数据为0。
我的解决方法: 为textfield设置tag,获取时通过view的viewWithTag获取该数据。办法虽挫,但实用啊。