arrays - iOS 结构可编码和过滤器?

标签 arrays swift nspredicate

我想按 startYear 搜索特定的美国总统,并且我尝试在 Swift 4 中使用过滤器。但我无法让它工作。我故意使用 Codable 协议(protocol)。

struct USPresidents: Codable {
    let FName: String
    let LName: String
    let startYear: Int
    let endYear: Int
}

let widroww = USPresidents(FName: "Widrow", LName: "Wilson", startYear: 1913, endYear: 1921)
let fdr = USPresidents(FName: "Frankly", LName: "Roosevelt", startYear: 1933, endYear: 1945)
let jkf = USPresidents(FName: "John", LName: "Kennedy", startYear: 1961, endYear: 1963)
let dde = USPresidents(FName: "Dwight", LName: "Eisenhowser", startYear: 1953, endYear: 1961)
let anj = USPresidents(FName: "Andrew", LName: "Jackson", startYear: 1865, endYear: 1869)
let gew = USPresidents(FName: "George", LName: "Washington", startYear: 1789, endYear: 1796)

var allPresidents = [USPresidents]()
allPresidents.append(contentsOf: [fdr,jkf,dde,anj,gew])


let searchFor = [1953]
let result = allPresidents.filter {  $0.startYear.contains({ $0.searchFor.contains($0) })
print("\n\nPresident in 1953 was:  = \(result)\n\n")

最佳答案

您希望过滤器查看 searchFor 是否包含 startYear

let result = allPresidents.filter { searchFor.contains($0.startYear) }

关于arrays - iOS 结构可编码和过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49216584/

相关文章:

Swift-y 解析整数前缀字符串的方法,如 NSString

ios - NSPredicate 不替换 %@ 参数 - Swift 4

swift - XCTWaiter().wait 与 XCTestExpectation 和 NSPredicate 似乎失败

jQuery datepicker 自定义规则请帮忙

php - 对所有数组成员调用对象成员函数

Swift KVO 绑定(bind)未更新

arrays - JSON解析全局变量Swift 4

c - 为什么 C 的 strcpy 对于双索引数组会失败?

C# 不安全类型 -> char*[] ,获取 char 数组上的指针

ios - 为什么在编码 URL 时格式化 NSPredicate 会导致 swift 崩溃?