MENU

Swift中的7个陷阱以及如何避免

作者: David Ungar,时间:2016/1/27
翻译:BigNerdCoding, 如有错误欢迎指出。原文链接

前言

伴随着Swift语言的快速发展,我们对于苹果设备编程的认识也发生着变化。与原来的Objective-C语言相比,Swift语言带来的更多现代化的特征,例如函数式编程和更多的类型检查。

Swift语言采用一些安全的编程模式来帮助开发者避免一些bug。然而不可避免的是,这种雄心勃勃的做法也会让我们的程序中引入一些陷阱(至少目前是这样),并且在编译的时候编译器无法检查出来并给出任何警告提示。这其中的一些陷阱在官方的Swift书里面,但是还有一些书中并没有提及。下面会介绍7个陷阱,其中的大部分坑我都进过。它们涉及到Swift的协议扩展(protocol extensions),可选链(optional chaining),以及函数式编程(functional programming)

阅读全文

Delegates vs Observers

作者:Ben Sandofsky,原文地址
翻译:BNCoding,如果翻译有误感谢指出。

一个结构良好的优秀app应用,必然包含一些功能职责定义良好并且协作高效的简单对象。当设计一个对象的时候,你一般都会仔细思考对象的属性和它的行为,但是设计对象之间的沟通协作的设计同样重要。

苹果的Cocoa框架只提供了有限的几种设计模式而且还没有文档指导我们该怎么更好的使用这些模式。现在我们来对比一下代理模式和观察者模式

阅读全文