swift - 结构数组的过滤/搜索功能,在 tableView 中显示

标签 swift struct

我已经创建了自己的 Struct 对象,该对象是从 Photos 框架填充的,其中包含图像的每个“时刻”以及其他元数据。

struct MomentImage {
    var momentNo : Int
    var index : Int
    var image : UIImage
}

我想填充一个 tableView,拆分为:

  • 部分,映射到 momentNo
  • 单元格,映射到 index

tableView(cellForRowAt indexPath) 中,我打印了:

print("location:\(indexPath.section) and\(indexPath.row)")

但是 Section 值只打印“0”。我希望我的打印语句出现在这个表中的所有部分(根据我的测试数据,这实际上是 13 个部分)

如何从我的 var moments = [MomentImage] 数组中过滤/检索这两个索引处的对象...

使用 array.filter { } 似乎是最明显的方法。如何在同一调用中传入第二个属性以进行检查(即 momentNo 和索引)?

let filteredassets = assets.filter { $0.momentNo == indexPath.section }

是我当前的代码。

请注意,图像需要是可编码的,因此从 PHImageManager 提取到本身应该是可编码的 Struct 中的不同 UIImage。

最佳答案

由@Vicaren 提供,在第一个参数转换为 2-property IF AND 语句后应用 &&

$0 仍然可供选择,只需选择另一个可用的属性进行测试。

我自己的示例结果:

let filteredassets = assets.filter { $0.momentNo == indexPath.section && $0.index == indexPath.row }

关于swift - 结构数组的过滤/搜索功能,在 tableView 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57162171/

相关文章:

swift - 使用#selector 传递参数

ios - 如何将多个参数传递给选择器函数

ios - 具有透明背景图像的 UIButton 无法正常工作

c - 我如何将二维数组结构中的值替换为 c 中二维数组结构的不同值和打印函数?

arrays - 使用结构变量数组访问结构变量golang

Swift SafariViewController 动画

facebook - 试图从 Facebook 获取用户生日,但我没有得到。我究竟做错了什么?

c - 如何返回指向结构数组内元素的指针?

c - 结构体和结构体成员的数组元素

c - 将指针传递给结构数组时出错