Ios 对嵌套数组的元素进行计数

Ios 对嵌套数组的元素进行计数,ios,swift,Ios,Swift,这里有人知道如何计算Swift中所有自定义对象嵌套数组中的元素数量吗 也就是说,我有 [Comments]数组,其中包括[Attachments]数组。其中可能有100条评论和5个附件。计算所有评论中所有附件的最快捷方法是什么?我尝试了一些解决方案,如flatMap、map、compactMap、filter、reduce,但不知道如何实现期望的结果。唯一对我有效的是典型的for-in-loop for comment in comments { attachmentsC

这里有人知道如何计算Swift中所有自定义对象嵌套数组中的元素数量吗

也就是说,我有

[Comments]数组,其中包括[Attachments]数组。其中可能有100条评论和5个附件。计算所有评论中所有附件的最快捷方法是什么?我尝试了一些解决方案,如flatMap、map、compactMap、filter、reduce,但不知道如何实现期望的结果。唯一对我有效的是典型的for-in-loop

    for comment in comments {
        attachmentsCount += comment.attachments.count
    }
有没有更好的方法来实现同样的目标?谢谢

您可以使用
数组的功能来执行以下操作:

let attachementsCount = comments.reduce(0) { $0 + $1.attachments.count }

基于使用
map

首先使用
reduce

let count = comments.map(\.attachments.count).reduce(0, +)
一种变体使用
连接

let count = comments.map(\.attachments).joined().count

@gcharita是的,和以前一样安静……有趣的是,他知道每个答案都是错的。。。