NSString *reusedIdentifer = @"recipeDosageCell"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:reusedIdentifer]; if (cell == nil) { cell = [[UITableViewCell alloc ] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reusedIdentifer]; cell.selectionStyle = UITableViewCellSelectionStyleNone; }
1.定义一个重用的cell,如果在外面给他的内容复制,当重复刷新就会重复显示cell的内容,之所以会造成这种结果,是在reloadData的时候,会重新调用cellForRowAtTableView ,然后找可以重用的cell,如果找到了就会用那个重用的cell,并且再次给他的内容赋值,结果就会造成重复显示。
解决方法,首先cell初始化时定义他的subview, 然后在外层给他的subview进行赋值。
2.如果一个tableview 中有多种cell ,则需要定义多个cell,然后进行重用