Swift filtre de tableau d'objets
class book{
var nameOfBook: String!
}
var englishBooks=[book(),book(),book()]
var arr = englishBooks.filter {
contains($0.nameOfBook, "rt")
}
Je suis en utilisant ce filtre, mais avec l'erreur ne peut invoquer le filtre avec un argument
Vous devez vous connecter pour publier un commentaire.
contains()
vérifie si une séquence contient un élément donné, par exemplesi un
String
contient unCharacter
.Si votre intention est de trouver tous les livres où le nom contient le sous-chaîne "rt", alors vous pouvez utiliser
rangeOfString()
:ou pour comparaison sensible à la casse:
De Swift 2, vous pouvez utiliser
et dans Swift 3 c'est
Désolé c'est un vieux thread. Changer votre code légèrement pour bien init votre variable "nameOfBook'.
Alors nous pouvons créer un tableau de livres.
Le tableau de "filtre" de la fonction prend un argument et certaines logiques, "contient" fonction, peut prendre une forme la plus simple d'une chaîne que vous recherchez.
Vous pouvez ensuite imprimer la liste 1 comme suit:
Ci-dessus, deux extraits peut être écrit de courts main comme ceci:
SWIFT 4.0
Afin de filtrer les objets et obtenir la résultante de tableau vous pouvez utiliser cette
dans le cas où vous souhaitez supprimer un intervalle d'un objet qui a des Id spécifiques (matchIDsToDelete) à partir d'un tableau d'objet (allumettes)
Dans Swift 4.2 utiliser le
remove(where:)
fonctionnalité.filter
ne va pas bien avec de la mémoire,remove(where:)
fait le travail mieux.À faire ce que vous voulez: