gpt4 book ai didi

swift - 如何在 Swift 中检查泛型类型是否为 nil

转载 作者:IT王子 更新时间:2023-10-29 05:53:30 28 4
gpt4 key购买 nike

我正在尝试将 all 函数从 python 复制到 swift,从检查列表中的任何 nill 项目开始,但我很难检查可选项目。出于某种原因,我可以发送一个可选字符串(例如字符串),即使它说它是 nil,它仍然通过 if 语句传递,它不在函数之外。关于如何处理这个或其他方法的任何建议?谢谢!

func `all`<T>(array: [T]) -> Bool {
for item in array {
if item as Any? {
println(item) // Says Nil >.<
}
var test: T? = item
if test {
println("Broken") // Prints broken :(
}
}
return true
}

var t: String?
all([t])

最佳答案

我不清楚你到底想测试什么,但也许这会有所帮助。

函数的参数应该是可选数组 [T?]

直接将元素与 nil 进行比较也可能是有益的。比较可以抽象为闭包,就像 filter 函数使用的那样。

func all<T>(array: [T?]) -> Bool {
for element in array {
if element==nil {
return false
}
}
return true
}

关于swift - 如何在 Swift 中检查泛型类型是否为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977168/

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