swift如何动态创建对象
生活随笔
收集整理的這篇文章主要介紹了
swift如何动态创建对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言:
在一些大型的項目中常常在加載頁面的時候根據服務器請求下來的數據動態創建視圖控制器對象,最近的一個項目就有這一方面的需求,加載頁面之前需要先請求服務器的數據得到一個JSON字典,根據里面字符串的名字創建對應的控制器,當然項目工程中有預留對應的控制器。之前在OC中利用字符串動態創建對象可以利用方法NSClassFromString獲取到對應的類。在swift中獲取類關鍵步驟是通過這個方法,但是跟OC有了很大的不同,多了一個命名空間.
?
?創建一個對象,將對象打印出來之后在控制臺可以看到類名之前多了一串字符串,該字符串就是命名空間。
swift動態創建對象:
為此要動態創建對象的時候需要先獲取命名空間,步驟如下:
1 //動態獲取命名空間: 2 let nameSpace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String 3 //根據命名空間和傳過來的控制器名字獲取控制器的類 4 let controllerClass:AnyClass = NSClassFromString(nameSpace + "." + controllerName)! 5 6 //告訴編譯器真實的控制器類型,比如這個控制器本質是UITableViewController則: 7 let realClass = controllerClass as! UITableViewController.Type 8 9 //實例化這個控制器出來 10 let childController = realClass.init()?
轉載于:https://www.cnblogs.com/develop-SZT/p/5306756.html
總結
以上是生活随笔為你收集整理的swift如何动态创建对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (王道408考研数据结构)第一章绪论-第
- 下一篇: 【C语言重点难点精讲】C语言指针