gpt4 book ai didi

swift - 在 Swift 中将类作为值存储在字典中的语法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:34 24 4
gpt4 key购买 nike

假设我想这样做:

class foobar : NSObject {
//method declarations, etc.
}

然后:

let myDictionary:Dictionary = ["returnMeAnAwesomeClass":foobar]

不起作用。

如果我输入 foobar.Type,它也不起作用。

如果我将 foobar.class 作为 foobar.Type 放入,它也不起作用。

我想要这个的原因是因为系统 API 中有一个方法将类作为参数,例如:

func enterState(_ stateClass: AnyClass) -> Bool

(在 GKStateMachine 中)

我发现能够获取字符串并将其转换为类是可以接受的。

最佳答案

如果需要获取类类型,可以使用foobar.self。而且你还应该在你的字典中添加类型安全:

let myDictionary: [String:AnyClass] = ["returnMeAnAwesomeClass": foobar.self]

如果您在声明字典的同一位置初始化字典,则可以跳过类型声明,因为编译器会推断它:

let myDictionary = ["returnMeAnAwesomeClass": foobar.self]

关于swift - 在 Swift 中将类作为值存储在字典中的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969111/

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