加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:45:35 所属栏目:百科 来源:网络整理
导读:我想使用包含函数类型的元组数组.例如: (Int,Bool,() - () ) 然后我创建了数组: var someList = [(Int,() - () )]() 但在编译时,此声明中有2个错误: 预期’,’分隔符 表达式列表中的预期表达式 那么可以在元组上使用函数类型还是我错过了什么? 解决方法
我想使用包含函数类型的元组数组.例如:

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

然后我创建了数组:

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

但在编译时,此声明中有2个错误:

>预期’,’分隔符
>表达式列表中的预期表达式

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

解决方法

你可以这样做:

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

不幸的是,尝试从数组中访问元组中的项目
导致游乐场破裂 – “与游乐场服务的沟通意外中断”.在项目中尝试相同的操作会导致分段错误.如果您遇到同样的问题,我建议您改用结构:

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))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读