1. 程式人生 > >NSClassFromString swift3.0的坑

NSClassFromString swift3.0的坑

swift.3.0 的版本使用

對於NSClassFromString的應用oc版本很簡單,而且也不用擔心報錯或者提示.但是swift 就有點麻煩了

首先 NSClassFromString 的引數不只是一個單獨的類字串,而是一個完整的包名加類名組成的字串,也就是包類名字串.

所以應該這麼寫:

let model = NSClassFromString("包名.類名") as! NSObject.Type;

下一步就是建立這個物件:

let enity = model.init();

這樣就可以使用物件了.
注意:
如果你是自定義的一個類,那就會有一個煩人的警告,至少在swfit3.0裡是有的.要求高的話,就需要優化一下.
優化方法:
在自定義的一個類裡,加上init()的實現方法,並且必須用required修飾,即可消除警告.
順利編譯通過並且無警告.一切順利