MENU

使用Quick Look框架对文件进行预览

作者:GABRIEL THEODOROPOULOS,时间:2016/4/12
翻译:BigNerdCoding, 如有错误欢迎指出。原文链接

在iOS SDK中你能找到一些不知名但是却非常有用的框架。其中的大多数都能给开发者带来便利节约开发时间。 Quick Look Framework就是这些不知名的框架中的一个,即使你之前没有使用过该框架,你也能从框架的名字中了解一二。该框架为app提供文件的预览功能。和大多数人一样,我也是在第一次需要使用到该框架的时候才了解它,然后就喜欢上了。


阅读全文

使用Realm和Swift编写一个 ToDo 应用

作者:HOSSAM GHAREEB,时间:2015/11/28
翻译:BigNerdCoding, 如有错误欢迎指出。原文链接

在去年智能手机的大更新之后,很多工具也同时被开发出来了。这些工具让我们开发者发布一个高性能、高质量的应用的变的更加简单了。在应用商店获得高排名以及不再很容易。而且让应用更容易拓展也是很困难的一件事。当你的应用成功的拥有百万级别的用户的时候,你需要注意应用中的所有事情以及所有操作。因此,现在每个开发者都需要面临的一个问题就是处理数据库。而这又是一件让人感到非常头疼的事情,大多数的开发者会在SQLiteCore Data中挑选一个。曾经我是Core Data的拥趸,因为它在处理数据以及持久化数据方面功能非常强大。但是后来我发现使用Core Data会浪费很多时间。现在我会使用Realm,该框架能够很好的替换SQLiteCore Data


阅读全文

Xcode7中使用Swift进行单元测试

作者:MAXIME DEFAUW,时间:2015/2/29
翻译:BigNerdCoding, 如有错误欢迎指出。原文链接

对于每一个iOS程序员来说都不可避免的需要对自己的应用进行调试。除非你是一个不世出的编程天才,不然由于没有进行调试而导致了一个简单的语法错误,并为之花费数小时去修复查找的时候你一定是绝望而崩溃的。甚至可能会更糟,你永远的都没有发现那个bug。无论你是刚刚入门的菜鸟还是老司机,定期进行单元测试会让你的代码变得更加可靠、安全、更容易调试!

很幸运,Xcode7和Swift语言支持单元测试。虽然单元测试并不一定意味这消灭应用中的所有bug,但是对于确保每一块或者每一单元的代码都能正确工作以及简化调试过程来说这依旧是一个强有力的方法。

顾名思义,在单元测试中你会建立一些小而具体的功能去测试某一段具体的代码并确保每一个单元都通过了测试。如果代码通过测试的话,其后面会出现一个绿色的logo。不管由于什么导致测试没有通过,Xcode会标记该测试"failed"。该标志是为了让你去从代码中更好的找到测试失败的原因。


阅读全文

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


阅读全文