iOS中類工廠方法介紹
類工廠的主要理念在於產生並返回一個特定類的實例對象,並在產生對象時儘可能的預填充數據。相比調用 alloc/init 再設置特性,使用類工廠的一個顯而易見的好處就是,你的代碼將會縮短很多。
這樣,你就能使用一個方法來創建一個對象並初始化它的所有特性,而不需要用一個方法來創建對象,再用很多行代碼來設置各種特性。與此同時,這種技術還有兩個不太明顯的好處。
其一,它強制了每個使用你的類的人必須提供你所需要的每一項數據,以創建一個功能完整的實例對象。鑑於你在本教程的前面部分所創建的那些對象,你可能也發現了,往往很容易就忘記了一個或兩個特性的初始化。有了類工廠方法, 你將被強制關注你創建對象所需要的每一項特性。
其二,公認的減少了使用了 ARC 的代碼將產生的問題,在
iOS 5之後類工廠方法將返回自動釋放池對象,釋放調用者而不必在以後再釋放。你可能不需要擔心這個問題,除非你需要兼容老的代碼,但是這依舊是一個值得注意的問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
【親測管用】解決IDEA控制檯Tomcat Localhost Log和Catalina Log亂碼
問題描述 解決辦法 將Tomcat 8.5\conf目錄下的logging.properties文件中的編碼方式都改爲“GBK”,如圖2所示: 結果
James Shangguan
2020-07-07 20:36:13
記一次線上排障——內存爆滿、頻繁GC、CPU 100%
六月熊
2020-07-06 13:30:58
使用Host和Nginx把自定義域名映射到本地
James Shangguan
2020-07-05 22:41:10
批量任務後臺執行功能實現細節。
qq_33314152
2020-07-05 21:10:55
【圖形學與遊戲編程】開發筆記-基礎篇6:緩衝區與混合
pancy12138
2020-07-05 19:20:24
iOS開發--好用的第三方庫(OC)
Wilson-Yuan
2020-07-04 14:07:24
iOS開發--KVC & KVO
Wilson-Yuan
2020-07-04 14:07:24
交互式動畫相關類,協議
realyezil
2020-07-03 10:03:16
開發筆記 - UITableView相關
Drunkard_001
2020-07-03 05:34:35
springsecurity4+jwt和vue.js+axios跨域問題
shen-zong-hang
2020-07-02 07:00:42
springsecurity4+JWT+vue+axios無法獲取用戶名和密碼,前後端分離。
shen-zong-hang
2020-07-02 05:14:59
深入理解主從Reactor多線程模型
codenow.fun
2020-07-01 19:00:59