0
votes

Pas capable de filtrer la matrice d'objet

J'essayais de filtrer mon éventail d'objets par l'une de ses propriétés. essayé beaucoup de solutions, mais il faisait une erreur après que je commençais à taper

// ma classe de modèle xxx

// ViewController // Ceci est ma méthode de déléguée Textfield xxx


3 Réponses :


0
votes

Le pont Cast to Nsarray code> Pour appliquer le prédicat nécessite une conformité de la valeur clé des propriétés en ajoutant l'attribut @OBJC code> et la classe doit être même une sous-classe de NsObject code>.

Mais c'est Swift, il n'est pas nécessaire d'utiliser nspredicate code> et nsarray code>. Cette syntaxe natale fait le même p> xxx pré>

note: p>

apparemment tous les livres ont nom code> et id Code> Alors déclarez l'objet sous forme de structure avec des éléments constants non facultatifs et retirez la nommée redondante. L'initialiseur est gratuit. P>

struct Book {
    let id : Int 
    let name : String
}


0 commentaires

-1
votes
 var myArray = [Book(bookName:"book1", bookId:23),Book(bookName:"book2", bookId:53),Book(bookName:"book3", bookId:43)]

        func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

            var lastCharactar = string
            var textFieldText = myTextField.text! + lastCharactar

            let arr = myArray.filter{ $0.bookName!.range(of: textFieldText, options: .caseInsensitive) != nil }
            print(arr)

            return true

        }

 struct Book {
        var bookName : String?
        var bookId : Int?
    }

0 commentaires

1
votes

Le tableau SWIFT n'a pas besoin de prédicat pour filtrer son contenu. SWIFT Array a la méthode de filtre pour filtrer la matrice. Par exemple: xxx

Remarque: une structure est un type de valeur dont la valeur est copiée lorsqu'elle est attribuée à une variable ou à une constante ou lorsqu'elle est transmise à une fonction, tandis que la classe est le type de référence dont les valeurs ne sera pas copié par défaut.


0 commentaires