【发布时间】:2019-02-01 08:47:45
【问题描述】:
我正在用 Swift 4.2 编写一个 iOS 应用程序 我正在遍历 array 1 并对其 one 元素 进行更改并将这些元素添加到 array 2。
数组:
let array:[model] = []
let array2:[model] = []
这个数组的模型是:
class model: NSObject {
var id:Int = 0
var name:String=""
var isChecked:Bool=false
}
功能:
func customCheckboxValueChangedWithID(_ id: Int, isChecked: Bool) {
array2.removeAll()
//TODO, use sugar syntax/higher order function for this loop:
for element in array{
if(element.id==id){
element.isChecked=isChecked
if(element.isChecked){
array2.append(element)
}
}
}
reloadCollectionView()
}
如何将其转换为 swift 高阶函数,如 map、flatMap 等?
【问题讨论】:
-
作为一个快速的附带问题... Model 是一个类有什么理由吗? (还有一个是 NSObject)?标准的快速方法是从结构开始。只在需要时才去上课。
-
喜欢
numbers.forEach({ if $0.id == id { $0.isChecked = isChecked } })这个? -
正确。将删除子类化并使其成为结构
-
@SPatel 如果我需要将此数组设置为另一个数组怎么办?