嘉宾分享
swift语言特性
1.面向协议编程。
面向协议编程其实就是面向接口编程。
好处:
1).可以编写mock来测试和开发,mock扩展了协议。
2).不会引入额外的状态,A->B Class的话会把不需要的method都拉过来,而接口不会。
Don’t start with a class,start with a protocol.
2.面向响应式编程。
传统view->data (要去刷新view),而响应式的建立绑定后自动会刷新。
3.引用机制
swift中除了class是传引用,其他都是传值。
struct也是传值,这样垃圾回收时候引用少垃圾回收机制高。
Struct item = arry[c],赋值时候不改变引用地址,但是 如果修改item中的内容,item地址会改变。
4.容错机制
optionalNone 表示所有的空值,C++ NULL、Object C nid。
1).编译错误。
2).断言失败 (文件本应该存在的,确不存在)
3).运行时错误。
提到了枚举的重要性 (机器不太chucuo,人容易出错,一个变量名写错了),有一个Lauike分析代码把资源都变成枚举类型的。
5.函数式编程
Reduce、MapReduce都是函数式子编程思想。
6.代码跟踪
instument
7.说明领导
最好的方式是写出一个demo。
tinycool老师的讲解: 1).你得做出一个东西, 比如PHP首先是一个模板语言。创立者找工作自己写了一个模板语言。 memcache解决PHP中模板语言中不能处理内存的问题。java 看memcache 都这么成熟了所以也拿来用了。 2).学习一门语言他美在哪里、object c 和swift 都有美的地方,如果你换到swift开发还是沿用object c的写法就是没有体会到swift的好处。 3).聪明是有界限的,你看懂代码不一定能搬砖,你要先玩转。(学习一个框架先把框架玩起来,从黑盒子角度了解怎么执行的)。 4).比如java 为什么好为什么坏->(Stirng Buffer 地址打印)。 联想起线程耗时打印意识。 性能测试入口:(几万->几百万的数据)执行结果画出曲线图(如果曲线平缓就说明性能OK了)。