我们能否从Swift中的字符串(数据类型的名称)创建数据类型的实例?

我们能否从Swift中的字符串(数据类型的名称)创建数据类型的实例?,swift,Swift,我知道要从类名中查找类类型,我们可以执行如下所示的操作,也可以使用NSClassFromString。我们可以对结构、枚举或任何其他数据类型执行类似的操作吗 guard let classType = Bundle.main.classNamed("AppName.ClassName") as? ClassName.Type else { print("Class Type not found") return } 我的问题与此类似 . 唯一的区别是,我想知道我们是否可以对其他

我知道要从类名中查找类类型,我们可以执行如下所示的操作,也可以使用NSClassFromString。我们可以对结构、枚举或任何其他数据类型执行类似的操作吗

guard let classType = Bundle.main.classNamed("AppName.ClassName") as? ClassName.Type else {
    print("Class Type not found")
    return
}
我的问题与此类似 . 唯一的区别是,我想知道我们是否可以对其他数据类型以及结构和枚举执行此操作

我们可以为其他数据类型(如结构和枚举)执行此操作吗


不,你不能。NSClassFromString是一个NSObject功能;它属于Cocoa和Objective-C世界。在Swift中,无法从字符串转换为对类型的引用;这不是那种语言。

这能回答你的问题吗@koen我不想让Struct的名字来自Struct。其实正好相反。我有一个结构名,但我没有结构本身来初始化它或访问它的静态属性。我的问题不是我们是否可以在Swift中使用NSClassFromString。实际上,我们也可以在swift中使用它。我的问题是,有没有类似的方法来引用其他数据类型?不管怎样,谢谢你的回复。不,你不能用Swift。在没有
importfoundation
importuikit
的操场上尝试。你会发现它甚至没有编译。这根本不是一个快速的功能。你现在明白了吗?我的回答仍然是:“不”。好吧,我不是在问纯粹的斯威夫特。可能是沟通上的差距。如果我可以通过在Swift中使用objective c的特性和功能来实现这个结果,那对我来说是完全可以的。我的答案是正确的。