簡體   English   中英

Swift擴展

[英]Swift Extensions

我很好奇為已經可以添加代碼的類編寫擴展的目的是什么?

例如,在Ray Wenderlich的AlamoFire教程中,

他有一個ViewController類,但是他為其網絡功能和UIImagePickerControllerDelegate方法編寫了該ViewController的擴展。 他編寫擴展的唯一原因是為了將代碼分成邏輯位嗎?

這是常見的做法還是個人喜好?

蘋果也這樣做。 如果看一下代碼(比如說Array結構),您會發現對協議的所有符合都封裝在擴展中。

唯一的區別是您的代碼可以更好地分離。 但這確實取決於您。

我不確定這是否是常見的做法,但我知道我這樣做是因為它會創建分隔的代碼。 如果您需要某些東西,只需轉到指定的分機。 但是,我相信這只是個人喜好。

未提及一種用途:將您無權訪問的源代碼添加到源代碼中。

這是一個約定,Apple親自遵循。

我個人非常喜歡它,因為它使您可以將大型整體類分解為更小,更易於管理的部分。

特別是,擴展到單獨的協議一致性使您的代碼更具可讀性。 它的作用與Objective-C中的#pragma mark預處理器宏相似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM