- 即係講到尾, subclass 想 call super.init 唔可以 call 佢個d convenience 只能 call 基本 init
-
基本 init 又可以有好多個 , 你要 superclass 佢, 就要 required 晒佢~
class NoteMessage: Message { let content: String init(content: String, theUser: String) { self.content = content super.init(sender: theUser) //Error!: Must call a designated initializer of the superclass 'Message' } }
Month: January 2016
如何理解 swift 既 ? 同 !
如何理解 swift 既 ? 同 !
假設有 Class 叫 Animal
Animal?
並不要好似網上d tutorial 話 一係有一係 nil 咁理解
不如你當佢係未知的禮物 type 咁理解 (inspired by wrapped / unwrapped)
Animal?
有兩個狀態 1: S<Type>
或者 2: nil
唔係 nil 就可以打開佢, 打開左先係以前我地認識既 var
呢個世界有 3 個方法去打開禮物包
-
!
強行打開 -
if let abc = xyz { } 禮物打開咪做下面d logic
-
abc?.function() 有咪行個 function 囉
as? as! 都類似
as! 有機會 nil -> runtime error
as? 就要用 if let 幫幫手
if let animalSelectedNode = selectedNode as? AnimalSpriteNode {
ref: http://stackoverflow.com/questions/24018327/what-does-an-exclamation-mark-mean-in-the-swift-language