Swift高手进阶 - 10个技巧
2016-12-06 14:37
239 查看
听说你已经学习Swift几个月了,有没有想更进一步成为Swift高手的想法?我这里有10招秘技,各位施主且听我慢慢道来,结个善缘。
1. 扩展(Extension)
任务: 求数字的平方。
为了求5的四次方我们被迫创建变量 squaredOfFive — 高手可不喜欢被迫定义一个无用的变量。
2. 泛型(Generics)
任务:打印输出数组内所有的元素。
居然要定义这么多函数? 菜鸟能忍高手不能忍!!!
3. For 遍历 vs While 遍历
任务:打印 5 次 陆家嘴
被迫定义了变量 i 来确保打印 陆家嘴 5 次。
注意定义越多的变量,越多的潜在风险,越多的生活问题。这就是蝴蝶效应,你难道想X生活不和谐?
上面的代码实在是简洁,美妙。
4. Gaurd let vs if let
任务 : 让我们写个欢迎新用户的程序。
这些令人讨厌的嵌套代码,我们要消灭它
注意这里如果myUsername 或 myPassword nil,都会提前结束,否则就会打印 “优衣库欢迎, XXX”
5. 计算属性 vs 函数
任务:计算圆的直径
上面我们创建了2个毫无关系的函数,可是直径和周长两者真的没有关系吗?
现在半径和直径相互依赖,真实地反应了两者的关系。
记得上面说的蝴蝶效应吗? 越少的依赖,代码越简洁,问题越少,生活越美好!
6. 枚举 - 类型安全
任务:卖门票
“Adult”, “Child”, “Senior” 这里都是硬编码,你每次需要输入手动输入这些字符,记得我们上面讲到的吗? 手动键入越少,错误越少,生活越美好。
这样你就避免了不小心输入错误的问题,因为 “.adult”, “.child”, “.senior” 被定义成了enum', 任何不在预定义范围内的实例都会被Xcode毫不留情的指出来,合理利用集成开发环境是高手必备的。
7. 空合运算符
任务: 用户选择微博主体颜色。
这也太臃肿了吧,让我们来减减肥。
稍微解释一下, 如 userChosenColor 为 nil, 则选择 defaultColor, 否则则userChosenColor.
其实空合运算符是对以下代码的简短表达方法。
8. 三目运算符
Ex) 有鸡冠头的人身高增加5厘米。
太啰嗦,还是需要减减肥!
如果是鸡冠头,就增加 5 厘米高度,否则增加 0 厘米。
9. 函数式编程
任务: 获取偶数。
这种for循环真是冗长,让人看的昏昏欲睡。
有没有感觉函数式编程让你看起来聪明多了。
10. 闭包 vs 函数
任务: 求两个数字的和。
为了这个功能我还需要记住函数名 和 变量名? 能不能少一个呢?
十条技巧讲述完毕,打完收工。
1. 扩展(Extension)
任务: 求数字的平方。
任务:打印输出数组内所有的元素。
任务:打印 5 次 陆家嘴
注意定义越多的变量,越多的潜在风险,越多的生活问题。这就是蝴蝶效应,你难道想X生活不和谐?
4. Gaurd let vs if let
任务 : 让我们写个欢迎新用户的程序。
5. 计算属性 vs 函数
任务:计算圆的直径
记得上面说的蝴蝶效应吗? 越少的依赖,代码越简洁,问题越少,生活越美好!
6. 枚举 - 类型安全
任务:卖门票
7. 空合运算符
任务: 用户选择微博主体颜色。
其实空合运算符是对以下代码的简短表达方法。
Ex) 有鸡冠头的人身高增加5厘米。
9. 函数式编程
任务: 获取偶数。
10. 闭包 vs 函数
任务: 求两个数字的和。
相关文章推荐
- Swift高手进阶 - 10个技巧
- swift-- Swift 进阶 - 10个技巧
- 安卓游戏《神庙逃亡2》之技术流高手进阶技巧
- BCB 高手进阶 (八)TServerSocket和TClientSocket应用技巧
- UNIX 技巧: UNIX 高手的另外10个习惯
- BCB高手进阶(九)读写端口的两种技巧
- 配图讲解10个进阶构图技巧
- iPhone开发入门、进阶、技巧、游戏系列
- Java程序员必须知道的10个调试技巧
- Android高手进阶教程(二十五)之---Android 中的AIDL!!!
- 电脑高手的60个电脑使用技巧
- 成为开源编程高手的11个技巧【转】
- GDI+编程10个基本技巧
- 构建高性能J2EE应用的10个技巧
- 编写高性能Web应用程序的10个入门技巧
- DotNetNuke网站性能的10个技巧
- 增强网站易用性的10个设计技巧
- Android高手进阶教程(九)之----Android Handler的使用!!!
- DataBinding的高手进阶实用指南
- eclipse调试java的10个技巧