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