2017-08-27 1 views
1

J'ai un modèle comme suit:Obtenir tableau de propriété particulière du modèle obj fondée sur la condition Swift

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

Je veux que le tableau de l'expertise sélectionnée.

J'ai essayé:

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

mais la ligne ci-dessus n'a pas travaillé.

+1

Avez-vous obtenir une erreur ou un avertissement? –

+0

Pas d'erreur et pas d'avertissement –

+0

Que voulez-vous dire par "n'a pas fonctionné"? – Sweeper

Répondre

2

Pour obtenir la valeur d'expertise de chaque objet sélectionné dans l'utilisation tableau filtre et carte:

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

Vous renvoyez la première expertise sélectionnée. obtenir le tableau de l'expertise sélectionnée suffit d'utiliser ce

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

Ensuite, vous pouvez obtenir les noms des expertises comme celui-ci

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

Mise à jour: pour obtenir le tableau des noms de Expertises:

var expertises: [String] = [] 

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

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

Autre façon:

var expertises: [String] = [] 

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

J'ai besoin de la gamme de var expertise qui est à l'intérieur du modèle –