根据条件 Swift 获取模型对象的特定 属性 数组

Get array of particular property of model obj based on condition Swift

我有一个模型如下:

class Expertise:NSObject{
var expertise:String = ""
var isSelevted:Bool = false
}

我想要所选专业知识的数组。

我试过:

Obj.filter{[=13=].isSelected == true}.first.expertise

但是上面那行没有用。

您正在返回第一个选定的专业知识。 要获取所选专业知识的数组,只需使用此

let selectedExpertises = Obj.filter{[=10=].isSelected == true}

那么你可以得到这样的专业名称

for expertise in selectedExpertises {
    print(expertise.expertise)
}

更新:获取专业名称数组:

var expertises: [String] = []

let selectedExpertises = Obj.filter{[=12=].isSelected == true}

 for expertise in selectedExpertises {
    expertises.append(expertise.expertise)
}

另一种方式:

var expertises: [String] = []

for expertise in Obj {
    if expertise.isSelected {
        expertises.append(expertise.expertise)
    }
}

要获取数组中每个选定对象的专业知识值,请使用过滤器和映射:

objects.filter { [=10=].isSelected } .map { [=10=].expertise }