gpt4 book ai didi

Swift 2.1 如何创建谓词

转载 作者:可可西里 更新时间:2023-11-01 00:58:17 26 4
gpt4 key购买 nike

编译器提示他的代码段并且不确定如何修复:

NSProcessInfo.processInfo().environment.contains("UITESTING")

它提示它无法将类型 STring 的值转换为预期的参数类型 '@noescape((String, String)) throws -> Bool

我正在使用 Xcode 7.3.1 和 Swift 2.2

最佳答案

NSProcessInfo.processInfo().environment 返回一个 [String : String] 字典。

要在字典上使用contains,您必须传递闭包,而不是字符串。

Swift 2 的示例:

// This is just to make the answer easier to read
let env = NSProcessInfo.processInfo().environment

测试是否包含您的字符串:

let result = env.contains { $0.0.containsString("UITESTING") }

或者测试相等性,例如:

let result = env.contains { $0.0 == "UITESTING" }

测试是否包含您的字符串:

let result = env.contains { $0.1.containsString("UITESTING") }

或等于:

let result = env.contains { $0.1 == "UITESTING" }

$0 是字典中的每一项,.0 是键,.1 是值。

为了更好地理解,这里是长格式语法:

let result = env.contains { (key, value) in key.containsString("UITESTING") }

在 Swift 3 中,以防万一有人需要它:

let env = ProcessInfo.processInfo.environment
let result = env.contains { $0.key.contains("UITESTING") }
let result = env.contains { $0.value.contains("UITESTING") }
let result = env.contains { (key, value) in key.contains("UITESTING") }

关于Swift 2.1 如何创建谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com