Ich habe eine Reihe von Dictionary-Objekten aus einer JSON-Datei gefüllt wie folgt definiert:Array von Dictionary-Objekten in Swift Suche 2
var peopleArray = [Person]()
Person
wie folgt definiert ist:
class Person {
var name: String?
var gender: String?
var html_url: String?
init(json: NSDictionary) { // Dictionary object
self.name = json["name"] as? String
self.gender = json["gender"] as? String
self.html_url = json["html_url"] as? String // Location of the JSON file
}
}
Sobald das Array wurde bevölkert, ich kämpfe, um die contains
Funktion zu verwenden, um festzustellen, ob es jemanden mit einer spezifischen name
gibt.
ich die folgende Fehlermeldung ausgegeben: Cannot convert value of type 'String!' to expected argument type '@noescape (Person) throws -> Bool'
für die folgende Zeile ich versucht habe:
peopleArray.contains { person -> Bool in
person.name == "Bob"
}
oder mit dem:
if (peopleArray.contains("Bob"))
Werfen Sie einen Blick auf diese: http://stackoverflow.com/a/32953118/2227743 (Ihre Objekte gleichzusetzen entsprechen sollte) – Moritz
Etwas außerhalb des Themas, aber Sie könnten SwiftyJSON einfacher finden. https://github.com/SwiftyJSON/SwiftyJSON – Asdrubal
Ihr Prädikat kann einfach $ 0 sein. Name == "Bob" – Feldur