什么是相当于 java 的举例中 Swift 吗?

标签: ios Swift
发布时间: 2017/3/6 23:01:31
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

就像 java 的下传讯关键字什么相当于在 Swift 吗?

java 示例︰

A a = new A();
boolean isInstanceOfA = a instanceof A;

这里 isInstanceOfA 是真的

所以我需要类似的Swift

解决方法 1:

isKindOfClass()从 NSObjectProtocol 的方法,是相当于 java 的下传讯关键字,在 java 中是一个关键字但在 swift 这是Protocol的方法,但他们的行为类似,在类似的上下文中使用。

isKindOfClass:是的如果接收器是指定的类的实例或任何类的实例返回从指定的类继承。

这到底是什么下传讯关键字并在 Java相关的链接

示例︰

let a: A = A()
let isInstanceOfA: Bool = a.isKindOfClass(A) // returns true.

你也可以使用 is 关键字

let a: A = A()
let isInstanceOfA: Bool = a is A

不同之处︰

  • is工作中的任何类与 Swift ,而 isKindOfClass() 仅适用于这些类的子类 NSObject 或否则执行 NSObjectProtocol

  • is采用必须是硬编码在编译时的类型。isKindOfClass:以其值可以在运行时计算的表达式。

所以没有 is 关键字并不像工作instanceof

赞助商