SwiftUI與UIKit
- SwiftUI 中的視圖構(gòu)造是指完全不同的過(guò)程,因?yàn)?SwiftUI 中沒(méi)有視圖類的實(shí)例
當(dāng)我們?cè)?UIKit 中討論視圖或視圖控制器時(shí)冤议,我們引用 UIView 或 UIViewController 類的實(shí)例。在 UIKit 中查看構(gòu)造意味著構(gòu)建視圖控制器樹(shù)和視圖對(duì)象技羔,以后可以修改以更新屏幕內(nèi)容喷好。
SwiftUI 中的視圖構(gòu)造是指完全不同的過(guò)程,因?yàn)?SwiftUI 中沒(méi)有視圖類的實(shí)例。當(dāng)我們討論視圖時(shí)啊掏,我們談?wù)摰氖欠?View 協(xié)議的值蠢络。這些值描述屏幕上應(yīng)該顯示的內(nèi)容,但它們與您在屏幕上看到的內(nèi)容(如 UIKit 視圖)沒(méi)有一對(duì)一的關(guān)系:SwiftUI 中的視圖值是暫時(shí)的迟蜜,可以隨時(shí)重新創(chuàng)建刹孔。
另一個(gè)很大的區(qū)別是,在 UIKit 中娜睛,計(jì)數(shù)器應(yīng)用的視圖構(gòu)造將只是必要代碼的一部分;您還必須為修改計(jì)數(shù)器的按鈕實(shí)現(xiàn)事件處理程序髓霞,而該按鈕又需要觸發(fā)對(duì)文本標(biāo)簽的更新。查看構(gòu)造和查看更新是 UIKit 中的兩個(gè)不同的代碼路徑畦戒。
在上面的 SwiftUI 示例中酸茴,這兩個(gè)代碼路徑是統(tǒng)一的:無(wú)需編寫額外的代碼才能在屏幕上更新文本標(biāo)簽。每當(dāng)狀態(tài)發(fā)生更改時(shí)兢交,視圖樹(shù)都會(huì)重建薪捍,并且 SwiftUI 將承擔(dān)確保屏幕反映視圖樹(shù)中的描述的責(zé)任。
技術(shù)交流
QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470
- 請(qǐng)關(guān)注我的專欄icloudend, SwiftUI教程與源碼
http://www.reibang.com/c/7b3e3b671970