當然,就目前而言,如果我們想在乙個例項方法中方便訪問當前類的類屬性和類方法,那麼可以直接使用type(of: self)即可,這可能比直接用classname.classmethod()要更通用化一些,或更簡潔一些(如果你的類名比較長的話)。
下面給出一段**例子:
class myclass
func method()
}// 這一句會輸出hello, world
var type = type(of: myclass())
// 這裡通過type型別顯式呼叫init構造方法也會直接輸出一次hello, world
var mc = type.init()
// 這裡直接將myclass類的元型別給type
type = myclass.self
mc = type.init()
mc.method()
此外,各位可以觀察到,swift中的type(of:)函式與c語言中的typeof()操作符不一樣,type(of:)函式就是乙個普通的函式,其實參表示式會在執行時進行計算。所以,如果我們要直接獲取某個型別的元型別,方便的話,盡可能直接用該型別訪問其self型別屬性來獲得。
swift3 0 關於字串
playground noun a place where people can play import uikit 字串字面量 func zfczml unicode 標量 u 0024 u unicode 標量 u 2665 u unicode 標量 u 1f496 初始化空字串 func cs...
Swift3 0 建構函式
viewcontroller.swift import uikit 在swift中,同乙個專案中 同乙個命名空間 所有的類預設都是共享的,不需要引用,可以直接訪問,不需要import 所有物件的屬性 var,也可以直接訪問到 class viewcontroller uiviewcontroller...
Swift3 0 異常錯誤
swift3.0 真的很簡單 swift3.0 資料型別 swift3.0 array swift3.0 字典 swift3.0 可選值 swift3.0 集合 swift3.0 流控制 swift3.0 物件和類 swift3.0 屬性 swift3.0 函式和閉包 swift3.0 初始化和釋放...