0

当视图模型中有一个值而不添加一个值时如何添加单元格?我的意思是我正在使用 ListBindingSectionController 并且对于每个单元格类型(图像、标题等)我都有单独的 ViewModel 类。帖子会有图片,但可能没有标题。我的问题是:如何在帖子中有标题时添加标题单元格,而在没有标题时不添加标题单元格?

我的标题 ViewModel 类:

import Foundation
import IGListKit

final class CaptionViewModel: ListDiffable {

  let fullName: String
  let caption: String? // can be nil(empty). When it is empty, I don't want caption cell inserted.


  init(fullName: String, caption: String?) {
    self.fullName = fullName
    if caption != nil {
      self.caption = caption
    } else {
      self.caption = " "
    }
  }

  //MARK: ListDiffable
  func diffIdentifier() -> NSObjectProtocol {
    return "caption" as NSObjectProtocol
  }

  func isEqual(toDiffableObject object: ListDiffable?) -> Bool {
    // not completed
    return false
  }
}
4

1 回答 1

0

这种确定应该发生在objectsForListAdapter函数中。在objectsForListAdapter中,它应该看起来像这样:

func objectsForListAdapter(listAdapter: ListAdapter) -> [ListDiffable] {
  var objects = []
  // ...snip...
  if captionViewModel.caption != nil {
      object.append(captionViewModel)
  }
  // ...snip...
  return objects
}
于 2020-01-28T17:08:28.040 回答