gpt4 book ai didi

ios - 检查实例的更好方法是从类列表中获取类型?

转载 作者:行者123 更新时间:2023-11-28 07:49:17 26 4
gpt4 key购买 nike

目前在 swift 中,我们可以使用“is”运算符检查实例的类类型。例如:

....
guard anyInstance is MYClass else {
return
}
....

在我的例子中,我需要将同一个实例与多个类类型进行比较,例如:

...
if anyInstance is MyClassOne ||
anyInstance is MyClassTwo || anyInstance is MyClassThree {
return
}
...

在 swift 中有没有更好的方法来写这种条件?像

....

if anyInstance is (MyClassOne, MyClassTwo, MyClassThree) {
return
}
...

最佳答案

如果我从逻辑上考虑,为它们定义一个父类(super class)/协议(protocol)会更有意义,像这样:

class MyClassNumber { }

class MyClassOne: MyClassNumber { }
class MyClassTwo: MyClassNumber { }
class MyClassLetter { }

let one = MyClassOne()
let two = MyClassTwo()
let letter = MyClassLetter()

if one is MyClassNumber {
// TRUE
}

if two is MyClassNumber {
// TRUE
}

if letter is MyClassLetter {
// FALSE
}

看不到您的任何用例

关于ios - 检查实例的更好方法是从类列表中获取类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114627/

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