xib创建的cell重用问题

xib创建的cell中添加一个UITextField,如果重用会导致后来在UITextField手动输入的数据混乱,如果不重用会导致内存问题,求解决方案!

阅读 4.6k
2 个回答

重用的时候清理一下历史数据呗, UITableViewCell 有个 prepareForReuse 方法,每次在将要重用前都会调用,你可以在这里清理之前的旧数据。

public func prepareForReuse() // if the cell is reusable (has a reuse identifier), this is called just before the cell is returned from the table view method dequeueReusableCellWithIdentifier:.  If you override, you MUST call super.
新手上路,请多包涵

在cellForRowAtIndexPath方法中return cell之前, 对cell再赋值一次,比如:写一个类textField, cell.testField = self.data[indexPath.row]; 这里的data数组放的是你自定义的类textField,或者直接给cell搞个属性 fieldText, 返回之前再赋值一遍 cell.fieldText = @"测试";

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题