gpt4 book ai didi

dictionary - Swift - 在字典中存储闭包

转载 作者:IT王子 更新时间:2023-10-29 05:21:03 25 4
gpt4 key购买 nike

是否可以在字典中存储闭包(我们如何在字典中存储 ObjC block )?示例:

   data = [String:AnyObject]()
data!["so:c0.onSelection"] = {() in
Debug.log(.Debug, message: "Hello, World!")
}

最佳答案

可以,但有一些限制。首先,函数类型不继承 AnyObject 并且不共享公共(public)基类。你可以有一个字典 [String: () -> Void][String: (String) -> Int],但它们不能存储在同一个目录中词典。

我还必须使用类型别名来定义字典,这样 swift 才能正确解析。这是一个基于您的代码段的示例。

typealias myClosure = () -> Void
var data: [String: myClosure]? = [String: myClosure]()
data!["so:c0.onSelection"] = {() -> Void in
Debug.log(.Debug, message: "Hello, World!")
}

关于dictionary - Swift - 在字典中存储闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25130125/

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