gpt4 book ai didi

swift - 使用从父类(super class)继承的值创建字典

转载 作者:行者123 更新时间:2023-11-30 10:43:14 28 4
gpt4 key购买 nike

我有多个类继承自单个类,是否可以为它们创建字典映射?这样我就可以在给定字符串键的情况下引用正确的类。

let map = [String: EngineView] = [
"google": GoogleView,
"duckduckgo": DuckDuckGoView
]

GoogleViewDuckDuckGoView 都是 EngineView 的子类,但 XCode 提示:

“无法将“GoogleView.Type”类型的值转换为预期的字典值类型“EngineView””

最佳答案

假设 GoogleViewDuckDuckGoView 继承自 EngineView 你可以这样做:

let map = [String: EngineView.Type] = [
"google": GoogleView.self,
"duckduckgo": DuckDuckGoView.self
]

使用

if let aClass = map["google"] {
let instance = aClass.init()
}

关于swift - 使用从父类(super class)继承的值创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56343391/

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