当前位置: 首页 > 面试题库 >

如何将具有类名的字符串转换为类类型本身?

仇龙光
2023-03-14
问题内容

为了将类名存储在日志文件中,我将类类型的描述转换为字符串:

let objectType: NSObject.Type = Object.self
let str = String(describing: objectType)

但是,我没有成功将其反向转换str为类型的变量NSObject.Type以在通用方法中使用它。

我该怎么办?


问题答案:

您可以从返回类string,但是获取类名时需要使用项目的 模块 名。如果不使用模块名称,则它将返回,nil因为先前引用的类名称尚未完全由
模块名称 限定。您应该更改类名称字符串以表示您的类的完全限定名称:

let myClassString = String(MyModule.MyViewController.self)
print(myClassString)
let myClass = NSClassFromString("MyModule.\(myClassString)") as! MyViewController.Type
print(myClass)


 类似资料:
  • 我想将String转换为子类数据类型,如何才能做到?或者这是可能的? 我有一个抽象类帐户 公共抽象类SinAcct扩展了Acct 一个公共类SavAcct扩展了SinAcct 在SavAcct中,有一个构造函数 一个抽象类合并帐户扩展帐户 我想要一个新的SavAcct, 新的SavAcct(数组[1],数组[2],数组[3],Double.parse双(数组[4]) 但它是错误的构造函数SavAc

  • 所以,基本上。我不想知道是否有可能(如果有可能,如何),实际上把一个类在C#代码中直接转换成一个字符串?因此,基本上,该类中的所有内容都进入字符串。 这有点短,但我不知道怎么说得更清楚。

  • 我刚接触Apache POI和HttpClient,我很困惑。我的程序应该从excel单元格中获取值,并在HttpGet请求中使用该值。以下是不起作用的方法: wb.getSheetAt(0)。getRow(rowNumber)。get cell(3);是XSSFCell类型,我需要把它转换成一个字符串。这可能吗,还是我没有正确地提取这个值?

  • 问题内容: 我想通过使用struct / interface的字符串名称值将特定变量转换为特定的已定义struct / interface。 例如: 和新变量 这可能是偶然的吗?也许使用反射? 干杯 问题答案: 这不可能。Go是一种静态类型的语言,这意味着必须在编译时知道变量和表达式的类型。 在类型断言中: […]如果类型断言成立,则表达式的值为存储在其中的值,其类型为。 因此,您可以使用类型断言

  • 问题内容: 我正在从在Varchar中具有原始提要的表中导入数据,我需要将varchar中的列导入到字符串列中。我尝试使用以及,但是却遇到了错误,因为有一些空字段,我需要将它们作为空或null检索到新表中。 请让我知道是否有相同的功能。 问题答案: 大胆猜测:如果您的值是一个空字符串,则可以使用NULLIF将其替换为NULL:

  • 本文向大家介绍java字符串与日期类型转换的工具类,包括了java字符串与日期类型转换的工具类的使用技巧和注意事项,需要的朋友参考一下 常用的字符串转date,和日期转字符串的方法,具体内容如下  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。