当前位置: 首页 > 知识库问答 >
问题:

如何在Swift中检索对象的类型?[复制]

酆出野
2023-03-14

我似乎找不到在Swift中返回对象类型的函数或方法。

如何在Swift中检索对象的类型或类?

我尝试使用Obj-C类,但显然不起作用。

在python中,有typeisinstance

在Javascript中有构造函数

共有2个答案

澹台锐
2023-03-14

你在找dynamicType

someInstance.dynamicType.printClassName()
周枫涟
2023-03-14

如果只需要检查对象的类型,可以使用类型检查运算符,is,如中所示:

if myObject is UIView {
    // do something
}

如果要尝试调用对象上的方法,但不确定该类,请将对象向下转换为所需的类型,如下所示:

if let myView = myObject as? UIView {
    myView.layer.backgroundColor = myColor
}
 类似资料:
  • 问题内容: 当试图理解一个程序时,或者在某些极端情况下,能够真正找出某种类型的东西很有用。我知道调试器可以向您显示一些类型信息,并且您通常可以依靠类型推断来避免在那种情况下不指定类型,但是我仍然很想拥有类似Python的东西 更新: 在Swift的最新版本中对此进行了更改,现在为您提供了对类型的引用,而不是动态类型的实例。 这似乎是最有前途的,但到目前为止我还无法找出实际的类型 我还尝试使用类引用

  • 我定义了这种类型 我想检查一个对象是否来自该类型,但没有办法。我已经尝试过了 我有一个错误:

  • 问题内容: 我有一个由组成的数组。我想遍历它,并找到所有属于数组实例的元素。 如何在Swift中检查对象是否为给定类型? 问题答案: 如果要检查特定类型,可以执行以下操作: 您可以使用“ as!” 如果类型不正确,则会引发运行时错误 您也可以一次检查一个元素:

  • 问题内容: 我有一个接受PDO对象作为参数的方法,以允许用户使用现有连接,而不是该方法打开一个新连接并节省资源: 我知道要检查参数是否为对象,但我想检查是否为PDO对象,而不仅仅是对象。 因为用户可以轻松输入(错误地输入?)另一种对象(一个mysqli或类似的对象),并且整个脚本会破裂。 简而言之:如何检查特定类型对象的变量? 问题答案: 您可以使用: 但是请注意,您不能像否定,所以您应该这样做:

  • 现在,当我在地图上迭代时…我能以某种方式获得每个Class1对象的类型(K,V)吗??

  • 我有一个数组,它由组成。我想对它进行迭代,并找到所有作为数组实例的元素。 如何在Swift中检查对象是否属于给定类型?