gpt4 book ai didi

ios - 在变量中传递类类型

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

在 swift 2.0 中有一种方法可以在变量中传递类的类型,以便我以后可以使用它来检查对象类型是否"is"该类类型。通过以下示例更好地解释:

class Base {..}
class Derived : Base {..}
var obj: Base = Derived()
if obj is Derived {
print("obj is Derived type")
}

这很好。但我希望能够将类类型“派生”存储在这样的变量中:

let classType = Derived  // Of course this will give compile error

稍后使用它来检查对象的类型:

if obj is classType {..}

我最接近处理保存类类型的是:

let classType = Derived.self

这表示 classType 的类型为“Derived.Type”,但您不能真正使用它来检查对象类型,如下所示:

if obj is classType {..blah.. } // Compile error.'Use of undeclared type 'classType'

我希望你明白我的意思。我试图将类类型存储在一个变量中,稍后使用它来检查对象是否属于该类型。有没有办法做到这一点。我查看了有关堆栈溢出的类似论坛,但没有什么可以回答这个问题。

最佳答案

像这样:

    class Base {}
class Derived : Base {}
var obj: Base = Derived()
if obj.dynamicType === Derived.self {
print("obj is Derived type")
}

关于ios - 在变量中传递类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291240/

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