gpt4 book ai didi

swift - 如何检查 var 是否是 Swift 中的元组?

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

阅读 Swift Guide 的类型转换部分我看到我使用 is 关键字来键入检查变量。

func isString(test: AnyObject?) -> Bool {
return test is String
}

似乎当我尝试类似的方法来检查包含三个 NSNumber 对象的元组时,我收到“元组不符合协议(protocol) AnyObject”。有什么方法可以检查变量是否包含元组?

func isTuple(test: AnyObject?) -> Bool {
return test is (NSNumber, NSNumber, NSNumber) // error
}

最佳答案

您不能使用 AnyObject这里是因为 tuple不是类类型的实例。

  • AnyObject can represent an instance of any class type.
  • Any can represent an instance of any type at all, including function types.

<子>来自 The Swift Programming Guide - Type Casting

相反,请尝试使用更通用的 Any 类型:

func isTuple(test: Any?) -> Bool {
return test is (NSNumber, NSNumber, NSNumber)
}

isTuple("test") // false
let tuple: (NSNumber, NSNumber, NSNumber) = (Int(), Int(), Int())
isTuple(tuple) // true

关于swift - 如何检查 var 是否是 Swift 中的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091222/

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