在Swift 2中搜索字典对象的数组

时间:2016-07-13 14:33:12

标签: json swift swift2 nsdictionary

我有一个由JSON文件填充的字典对象数组,定义为:

For Each otable In CurrentDb.TableDefs
If otable.Name Like "*ImportErrors*" Then
CurrentDb.TableDefs.Delete otable.Name
End If
Next otable

var peopleArray = [Person]() 定义为:

Person

填充数组后,我很难使用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 } } 函数来确定是否有某人具有特定的contains

我发出了以下错误:name我尝试过的以下行:

Cannot convert value of type 'String!' to expected argument type '@noescape (Person) throws -> Bool'

1 个答案:

答案 0 :(得分:4)

您应该使用闭包作为contains调用的输入参数:

peopleArray.contains { person -> Bool in
    person.name == "Bob"
}

或使用短样式语法:

peopleArray.contains { $0.name == "Bob" }

或者,如果您想要查找特定的人,则可以Person符合Equatablehttps://stackoverflow.com/a/32953118/2227743