在
swift中,如果变量属于某种类型,if let语法只允许我执行语句.例如
class A {...} class B: A {...} class C: A {...} func foo(thing: A) { if let b = thing as? B { // do something }else if let c = thing as? C { // do something else } }
是否可以通过switch语句实现这一点?
我有这么远,但变量b和c仍然是A类型,而不是转换为B和C:
func foo(thing: A) { switch thing { case let b where b is B: // do something case let c where c is C: // do something else default: // do something else: } }
如果你只想知道它是B还是C,你可以说案例是B而案例是C.
如果你想捕获并抛弃,那么说case b让b为B,case为c.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。