關於Swift3 0中的type of 函式

2021-07-25 02:36:08 字數 612 閱讀 8898

當然,就目前而言,如果我們想在乙個例項方法中方便訪問當前類的類屬性和類方法,那麼可以直接使用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 初始化和釋放...