繁体   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