2017-08-27 16 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專業知識的數組這是模型內部 –