2017-08-27 19 views
1

我有一个模型,如下所示:获取模型的特定属性的阵列OBJ根据病情斯威夫特

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

我要的选择专长的阵列。

我想:

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

,但上面的一行并没有奏效。

+1

你有没有得到任何错误或警告? –

+0

没有错误也没有警告 –

+0

你是什么意思的“没有工作”? – Sweeper

回答

2

要获得每个选定的对象在阵列中使用过滤器和地图的专长值:

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

您正在返回首选专业知识。 要获得所选专业知识阵列只是用这个

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) 
    } 
} 
+0

我需要var专业知识的数组这是模型内部 –