更新時(shí)間:2016年03月02日17時(shí)05分 來源:傳智播客 瀏覽次數(shù):
Swift正在完成一個(gè)驚人的壯舉,它正在改變我們在蘋果設(shè)備上編程的方式,引入了很多現(xiàn)代范例,例如:函數(shù)式編程和相比于OC這種純面向?qū)ο笳Z言更豐富的類型檢查。
Swift語言希望通過采用安全的編程模式去幫助開發(fā)者避免bug。然而這也會(huì)不可避免的產(chǎn)生一些人造的陷阱,他們會(huì)在編譯器不報(bào)錯(cuò)的情況下引入一些Bug。這些陷阱有的已經(jīng)在Swift book中提到,有一些還沒有。
總結(jié):
一、在協(xié)議擴(kuò)展中重寫協(xié)議中的屬性時(shí)要仔細(xì)核對;
二、在協(xié)議擴(kuò)展中定義的每一個(gè)屬性,需要在協(xié)議中進(jìn)行聲明;
三、不要對導(dǎo)入的第三方協(xié)議進(jìn)行屬性擴(kuò)展,那樣可能需要?jiǎng)討B(tài)調(diào)度;
四、如果一個(gè)新的屬性需要?jiǎng)討B(tài)調(diào)度,避免使用約束性協(xié)議擴(kuò)展;
五、避免把一個(gè)有副作用的表達(dá)式的結(jié)果通過可選鏈賦值給等號左邊的變量;
六、避免在閉包中使用inout參數(shù);
七、避免在柯里化函數(shù)中使用inout參數(shù),因?yàn)槿绻愫髞韺⒖吕锘臑轱@式的創(chuàng)建閉包,這段代碼就會(huì)產(chǎn)生錯(cuò)誤。
北京校區(qū)