3
|
youareawaitress · 技术社区 · 7 年前 |
![]() |
1
3
使函数成为方法的局部函数会改变其作用域,但不会改变由此编译的代码的生存期。该类的方法也是如此:它们的二进制代码不是单独管理的,至少目前不是这样。不过,这并不是什么大问题,因为函数的可执行代码相对较小。
这里重要的是函数名在其外部范围内不可见,让其他方法定义自己的函数名
这提高了可读性,因为函数定义就在使用它的地方。它还提高了可维护性,因为无论是谁在重构您的代码,都可以确定没有其他用途
|
![]() |
2
2
设置背景颜色,实际上,任何类型的视图配置,在
对于某些方法,例如视图控制器演示,这允许创建方法在不立即加载视图的情况下尽快返回,并保持UI的响应性。
正是由于视图的延迟加载,UIViewController才具有
|
![]() |
3
2
我在你的代码中没有看到任何值得担心的内存问题。微观优化是软件开发中最大的时间浪费。但既然你问了,
|
![]() |
4
2
我的猜测是,效率上的任何损失都值得获得可读性更强的代码。事实上,如果您将函数标记为
Martin Fowler有一个 great article on function length 在这篇文章中,他说他有很多一行长的函数,因为它们使代码更容易理解。
不确定他关于函数缓存的注释是否适用于Swift,但他也表示:
…正如代码所述,是的
|