滚动时,iOS tableview数据丢失重复

时间:2015-10-12 07:45:47

标签: ios swift uitableview

cellForRowAtIndexPath

这是我在函数@RequestMapping(value = "/getData", method = RequestMethod.GET) @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) public @ResponseBody String test() throws IOException { Map<String,String> map = new HashMap<String,String>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); mapper.setSerializationInclusion(Include.NON_NULL); mapper.getSerializerProvider().setNullKeySerializer(new MyNullKeySerializer()); map.put("key","value"); map.put(null, "Key's Value"); return mapper.writeValueAsString(map); } class MyNullKeySerializer extends JsonSerializer<Object> { @Override public void serialize(Object nullKey, JsonGenerator jsonGenerator, SerializerProvider unused) throws IOException, JsonProcessingException { jsonGenerator.writeFieldName(""); } } 中的一些代码,当我设置一些数据,如8或9等,如果它已经满了屏幕,并且需要滚动,然后,一些数据将会丢失,有些数据会重复,有谁知道为什么?这一天真的困扰了我很多。

1 个答案:

答案 0 :(得分:0)

我想该字段可以重复或丢失msgContent。因为items[indexPath.row].msgContent可以是零。如果新值为nil,则 UITableViewCell 重复使用旧数据进行显示。

要解决此问题,请在数据为零时使用空字符串。

cell.msgContent.text = (items[indexPath.row].msgContent as String) ?? ""