gpt4 book ai didi

ios - 有没有办法动态创建当前类类型的实例?

转载 作者:行者123 更新时间:2023-11-29 05:53:18 34 4
gpt4 key购买 nike

假设我有超过10个类,例如:class1,class2,class3,..等,每个类都有自己的功能。

我的问题是,由于我必须为每个类创建一个实例才能使用其函数,我可以动态创建实例变量并分配类类型,而不是手动指定类型吗?

我的意思是这样的:

class class1 {
static var instance = self
// or
static var instance :type(of:self) {
get {
return type(of:self)
}
}
}
/* instance type will be "class1", through "instance" I can access to class public functions */

当然,我尝试过这些想法,但没有一个奏效。

有什么办法吗?

更新:

class Country {
static var instance = Country()

func do_something1 () { // do soething
}
func do_something2 () { // do soething
}
func do_something3 () { // do soething
}
func do_something4 () { // do soething
}
func do_somethingN () { // do soething
}

}

我想让实例根据存在的类动态获取它的类型,而不是手动获取特定类型

最佳答案

你可以通过提供类名来获取类,然后你就可以初始化了。

func classFromString(className: String) -> AnyClass! {
let namespace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String;
let class1: AnyClass = NSClassFromString("\(namespace).\(className)")!;
return class1;
}

关于ios - 有没有办法动态创建当前类类型的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55448874/

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