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等,如果它已经满了屏幕,并且需要滚动,然后,一些数据将会丢失,有些数据会重复,有谁知道为什么?这一天真的困扰了我很多。
答案 0 :(得分:0)
我想该字段可以重复或丢失msgContent
。因为items[indexPath.row].msgContent
可以是零。如果新值为nil,则 UITableViewCell 将重复使用旧数据进行显示。
要解决此问题,请在数据为零时使用空字符串。
cell.msgContent.text = (items[indexPath.row].msgContent as String) ?? ""