gpt4 book ai didi

swift - 在 Swift 中,我可以在元组中使用函数类型吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:51 24 4
gpt4 key购买 nike

我想使用一个包含函数类型的元组数组。例如:

(Int,Bool,() -> () )

然后我创建数组:

var someList = [(Int,Bool,() -> () )]()

但是在编译时这条语句有两个错误:

  • 预期的 ',' 分隔符
  • 表达式列表中的预期表达式

那么可以在元组上使用函数类型吗?还是我错过了什么?

最佳答案

你可以这样做:

typealias TupleType = (Int, Bool, () -> Void)
var list = [TupleType]()

不幸的是,试图从数组中访问元组中的项目导致 Playgrounds 中断 - “与 Playground 服务的通信意外中断”。在项目中尝试相同的事情会导致段错误。如果您遇到同样的问题,我建议您改用结构:

struct MyStruct {
let num: Int
let bool: Bool
let closure: () -> Void

init(num: Int, bool: Bool, closure: () -> Void = {}) {
self.num = num
self.bool = bool
self.closure = closure
}
}

var list = [MyStruct]()
list.append(MyStruct(num: 1, bool: true, closure: { println("Hello") }))
list.append(MyStruct(num: 2, bool: false))

关于swift - 在 Swift 中,我可以在元组中使用函数类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671429/

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