開發中可能會經常遇到動態建立類的情況,有時候是根據伺服器返回的字段進行處理,在oc中很簡單,直接通過nsclassfromstring方法即可,但是在swift中,要加上命名空間才能夠建立,具體如下:
1:命名空間的獲取,這個要動態獲取或者直接寫死,直接寫死的話,如果改了專案名字的話就不能用了,所以最好盡量動態獲取,獲取方法為:
let namespace = nsbundle,mainbundle().infodictionary!["cfbundleexecutable"] as! string
2:拼接完整的字串:
let clsname = namespace + "." + namespace;
3轉化成類
let cls :anuclass! = nsclassfromstring("");
4:設定型別:
let vccls = cls as!uiviewcontroller.type
5:建立類即可
let vc = vccls.init();
C 執行時通過字串動態建立類
有時候我們希望通過乙個字串建立類,可以通過if.else.來實現 string str some class name 如if str string class1 else str string class2 else上面 不僅醜陋,而且難以擴充套件,如果我們希望用乙個統一的基類來呼叫函式,如 st...
字串類的建立過程
1 字串類的建立 字串類中的常用成員函式 過載陣列訪問操作符 char operator int i char operator int i const 注意事項 當i的取值不合法時,丟擲異常 合法範圍 0 i i m length char string operator int i else c...
iOS中的字串NSString
建立乙個字串物件 nsstring str1 hello world nsstring str nsstring alloc initwithstring hello world nsstring str 1 nsstring alloc initwithutf8string hello world...