gpt4 book ai didi

swift - 在运行时在 Swift 中定义新类

转载 作者:搜寻专家 更新时间:2023-11-01 05:57:39 25 4
gpt4 key购买 nike

我想在运行时定义一个临时类(目的是创建用于测试的模拟对象)。例如:

class Foo {
func bar(classType) {
class Mock: classType {
// class body
}
let m = Mock()
...
}
}

目前可以在 Swift 中做这样的事情吗?如果不是直接的,也许是通过泛型?

最佳答案

这听起来像是用 Ruby 做的事情。但 Swift 与 Ruby 相反:每种类型都必须在编译时完全定义。

如果 classType 在编译时已知,那么您的代码肯定是合法的:在函数中定义类没有任何问题(当然它只在范围内,而函数的其余部分运行)。但是该类的父类(super class)必须在编译时明确定义;它不能推迟到运行时。

关于swift - 在运行时在 Swift 中定义新类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050343/

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