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



我有一个模型如下:

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

我想要所选专业知识的阵列。

我试过了:

Obj.filter{$0.isSelected == true}.first.expertise

但是上面的行不起作用。

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

objects.filter { $0.isSelected } .map { $0.expertise }

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

let selectedExpertises = Obj.filter{$0.isSelected == true}

然后你可以得到这样的专业知识名称

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

更新:获取一系列专业知识名称:

var expertises: [String] = []
let selectedExpertises = Obj.filter{$0.isSelected == true}
for expertise in selectedExpertises {
expertises.append(expertise.expertise)
}

另一种方式:

var expertises: [String] = []
for expertise in Obj {
if expertise.isSelected {
expertises.append(expertise.expertise)
}
}