ios - 在 Swift 中减少托管对象数组

标签 ios swift

我无法确定在 Swift 中减少自定义托管对象子类数组的语法。我有一个托管对象子类,它有一个名为 amount 的属性,它是一个 NSNumber。如何使用 reduce 函数获取托管对象数组中每个项目的金额总和。这是我尝试过的方法,但我收到一条错误消息,指出“找不到成员‘amount’”。

let reduceSum=myArray.reduce(0) {$0 + $1.amount}

我看过这个example ,但这并没有帮助,因为我遇到了找不到成员的错误。

最佳答案

在发布这个之后,我又尝试了一件事情并且成功了。错误消息具有误导性,让我认为语法错误,但真正的问题是我需要将 NSNumber 转换为 CGFloat。这是有效的:

let reduceSum=myArray.reduce(0) {$0 + CGFloat($1.amount)}

关于ios - 在 Swift 中减少托管对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308394/

相关文章:

ios - AdMob 问题和错误

javascript - 如何在 UIWebView 中打开即时弹出窗口?

ios - Swift:删除 iOS 操作扩展中的照片

swift - 将 .xib 加载到 UIView 时出错

objective-c - 如何通过json api更新服务器数据库上的数据?

ios - 带有 NSFetchedResultController 的 TableView 在屏幕外显示损坏的单元格

ios - 具有动态大小内容的 UIScrollView

ios - Swift json 一些带引号的键有些没有

swift - Firestore获取索引0处的数组数据

Swift:不需要条件转换但需要 "must"?