swift根據型別 AnyClass 建立例項

2021-09-11 12:59:42 字數 399 閱讀 9799

第一種適用於繼承nsobject的類

let classname:string=nsstringfromclass(anyclass)

if let classtype =nsclassfromstring(classname) as? 型別.type {

let 例項 = classtype.init(建構函式)

第二種繼不繼承nsobject的類都可以

let classtype :anyclass= type(of:例項)

if let type =classtypeas?型別.type{

let temp =  type.init())

注意以上兩種方式都要求類提供required的建構函式即至少提供

required init() {

Swift 型別轉換

import uikit 1.定義基類 mediaitem 2.定義子類 movie 3.定義子類 song class mediaitem class movie mediaitem class song mediaitem let library movie name movie1 direct...

Swift 型別約束

型別約束 指必須繼承指定的類或者遵循特定的協議 語法 funcsomefunc somet t,someu u 表示函式有兩個引數 somet 和someu 型別分別是t和 u,其中t是 someclass 子類,u 遵循someprotocol 先看非泛型的函式 func findstringin...

Swift 關聯型別

關聯型別 20150106 我的理解 類似是協議裡面的泛型型別 定義協議時使用關聯型別,就不必指定專門的型別,靈活性更高 下面的例子裡,container 協議定義了乙個 itemtype 關聯型別和三個相容要求 1.能通過方法新增乙個新 item 到container 2.能使用count 返回數...