關鍵字is
相當於isKindOfClass
。isMemberOfClass在夫特
但我無法找到是什麼在迅速相當於isMemberOfClass
。
注: 我的問題是不是isKindOfClass
或isMemberofclass
,而這個問題是關於什麼是isMemberofClass
在斯威夫特
有人請澄清
關鍵字is
相當於isKindOfClass
。isMemberOfClass在夫特
但我無法找到是什麼在迅速相當於isMemberOfClass
。
注: 我的問題是不是isKindOfClass
或isMemberofclass
,而這個問題是關於什麼是isMemberofClass
在斯威夫特
有人請澄清
您正在尋找type(of:)
(以前.dynamicType
在Swift 2中)。
實施例:
class Animal {}
class Dog : Animal {}
class Cat : Animal {}
let c = Cat()
c is Dog // false
c is Cat // true
c is Animal // true
// In Swift 3:
type(of: c) == Cat.self // true
type(of: c) == Animal.self // false
// In Swift 2:
c.dynamicType == Cat.self // true
c.dynamicType == Animal.self // false
使用type'錯誤的未解決的標識符'得到投擲 –
您使用斯威夫特2.在斯威夫特3這是'型(作者:C)'斯威夫特1 2它是'c.dynamicType' – Grimxn
謝謝你救了我的一天! –
在可選可變type(of:)
返回從初始化的類型的情況下。
例子:
class Animal {}
class Cat : Animal {}
var c: Animal?
c = Cat()
type(of: c) // _expr_63.Animal>.Type
type(of: c) == Cat?.self // false
type(of: c) == Animal?.self // true
我的班是從NSObject
繼承,所以我用它的可變classForCoder
,它爲我工作。
class Animal : NSObject {}
class Cat : Animal {}
var c: Animal?
c = Cat()
c?.classForCoder == Cat.self // true
[isKindOfClass和isMemberOfClass之間的iPhone SDK差異]的可能的複製(http://stackoverflow.com/questions/3653929/iphone-sdk-difference-between-iskindofclass-and-ismemberofclass) – Tj3n
無其不重複因爲我正在查詢相當於** isMemberOfClass ** –
然後檢查[this](http://stackoverflow.com/q/25476740/6541007)。 – OOPer