我获得了在加载单元格之前需要过滤的数据模型。具有以下结构:
struct Food: Decodable {
let title: String?
let content: [Category]?
}
struct Category: Decodable {
let title: String?
let items: [FoodItem]?
}
struct FoodItem: Decodable {
let title: String?
let image: URL?
let summary: String?
}
我将它们加载到UICollectionView
上。我只需要包含title
,image
和summary
的内容。我可以用项目过滤类别。如何在整个Food
数据模型中传播。从技术上讲,我可以for
进行循环。我想知道是否可以向每个模型添加通用协议/功能以实现相同的功能。
使用
过滤项目var filteredItem: Bool {
return title != nil && summary != nil && image != nil
}
答案 0 :(得分:0)
基本上,您正在寻找的是filter(_:)
方法,您可以这样使用:
我认为您有一个Food
数组,因此您希望对其进行过滤,因为每种食物的content
([Category]
)必须包含items
({ {1}})具有非null属性:
[FoodItem]