作者:gregg mojica,原文链接,原文日期:2015-11-30
译者:小铁匠Linus;校对:Cee;定稿:numbbbbb

2014 年 6 月 Apple 发布 Swift 以来,如何在 Swift 中进行网络编程一直成为程序猿们关注的焦点。甚至就连 Swift 的作者之一 Chris Lattner 也发推说过,在 Swift 中解析 JSON 还有很长的路要走。因此,许多人开始寻求替代方案。在 Swift 中虽然有处理 JSON 解析的内建类,但是对开发者来说并不是很友好。幸运的是,Alamofire 出现了。Alamofire 是一个可以帮助我们解析 JSON 的强力网络库,它由 Objective-C 中同类网络库 AFNetworking 的作者编写。

在这个又臭又长、近乎 3500 多词(译者注:in English;定稿注:这是作者原话,不是译者观点)的教程中,我们将探讨一系列广泛的网络基本话题,并建立一个假日待办应用。

同时,你会从本教程中学到:如何使用和解析 JSON、如何自定义服务器端、如何使用 HerokuMongoLab 等工具、HTTP 的工作原理(包括 GET,POST 和 DELETE 请求)、如何使用 git 和终端(terminal)以及如何使用 Cocoapods。如果你觉得上面提到的内容太多了,那就对了,拿一杯咖啡,就让我们开始吧。

阅读全文

作者:Erica Sadun,原文链接,原文日期:2015-12-03
译者:pmst;校对:Cee;定稿:numbbbbb

我将尽量避免那些看上去很尴尬的笑话,直接介绍 Swift CoreLibs Foundation

以下引自 Apple:

本项目提供了各个平台下 Foundation API 的具体实现,但并未使用 Objective-C runtime 机制。在 OS X、iOS 以及其他 Apple 平台下,应用程序都应该使用指定操作系统下的 Foundation 进行开发。我们希望尽可能地抽象出具体的底层平台…
我们最主要的目标是在 Apple 平台下使用 Foundation implementation parity。这将有助于整个 Swift 3 完成可移植性的目标。

阅读全文

作者:Erica Sadun,原文链接,原文日期:2015-12-03
译者:Channe;校对:Cee;定稿:千叶知风

如果你还没看过 Swift 发展路线图,我建议你要好好看一看。目前为止,有四个针对 Swift 3 和一个针对 Swift 2.2 的提议已经被接受,也许其中的某些能让你会心一笑。

显然,这些提议中最令人振奋的是 API 翻译的改进,旨在废除冗长的 Objective-C 式的风格,形成调用简洁且易读的 Swift 风格。

阅读全文

作者:Erica Sadun,原文链接,原文日期:2015-09-23
译者:天才175;校对:numbbbbb;定稿:numbbbbb

Beta 2 的新特性允许你拖放颜色、图片以及文件。在截图中虽然看不到,但如果你打开文本赋值的历史记录,就会显示文件的文本内容(是我的购物清单,好奇的家伙们)。文本常量的类型为NSURL。颜色是UIColor,图片是UIImage。谢天谢地,希望你们对这些没有任何疑问。

阅读全文

本周整理问题如下:

对应的代码都放到了 github 上,有兴趣的同学可以下载下来研究:点击下载

阅读全文

作者:Olivier Halligon,原文链接,原文日期:2015-11-08
译者:ray16897188;校对:Cee;定稿:千叶知风

译者注:MixinTrait 是面向对象编程语言中的术语,本文中作者并未明确指出两者之间的区别。这两个单词在本译文中也不做翻译。

从面向对象的编程语言的角度来说,继承(Inheritence)总被用来在多个类之间共享代码。但这并不总是一个最佳的解决方案,而且它本身还有些问题。在今天写的这篇文章中,我们会看到 Swift 中的协议扩展(Protocol Extensions),并将其以「Mixins」的形式去使用是怎样解决这个问题的。

阅读全文

作者:gabriel theodoropoulos,原文链接,原文日期:2015-10-18
译者:ray16897188;校对:numbbbbb;定稿:Cee

如果问我在做过的所有项目中做的最多的事情,那处理日期绝对是榜上有名(译注:本文中的「日期」是指代 NSDate 对象,同时包含「日(date)」 和「时(time)」这两个元素)。毋庸置疑,无论工作量是多是少,开发者迟早需要「玩」一下 NSDate 类,去按某种方式处理一下日期。从简单的将一个日期转换成一个字符串到对日期做计算,总会有一个不变的事实:开发者必须在 iOS 编程中学会这个知识点。这并不难掌握,而且可以为以后更重要任务节省时间。在新手看来,对日期的操作很麻烦;然而事实并非如此。你需要做的就是掌握它。

阅读全文

作者:Benedikt Terhechte,原文链接,原文日期:2015-11-30
译者:pmst;校对:Cee;定稿:千叶知风

即使早在 Swift 正式发布之前,iOS / Cocoa 开发者都可以使用诸如 ObjectiveSugar 或者 ReactiveCocoa 第三方库,实现类似 mapflatMapfilter 等函数式编程的构建。而在 Swift 中,这些家伙(map 等几个函数)已经入驻成为「头等公民」了。比起标准的 for 循环,使用函数式编程有很多优势。它们通常能够更好地表达你的意图,减少代码的行数,以及使用链式结构构建复杂的逻辑,更显清爽。

阅读全文

作者:Hossam Ghareeb,原文链接,原文日期:2015-10-28
译者:Prayer;校对:Cee;定稿:千叶知风

智能手机的快速发展的同时,涌现出了很多对开发者友好的开发工具。这些工具不仅使得开发变得更加简单和容易,同时也保证了性能和产品质量。如今想要在 App Store 中占据一席之地,并非易事。而且想要使得应用易于扩展就更加困难了。当你成功获得百万量级的用户时,应用中的每一个细节都不能放过,并且需要在很短的时间完成对细节的打磨。所以和数据库打交道,是很多开发者都会面临的一个问题。

阅读全文

作者:Jacob Bandes-Storch,原文链接,原文日期:2015-08-05
译者:Lou;校对:shanks;定稿:shanks

这篇博文启发自Code Review.SE上的一个讨论,同时nerd-sniped上的关于数学的有趣的学习。让我对数学和 Swift 的结合有了兴趣。所以我花了一段时间来把这些知识整理成一篇博文,特别是自从我完成了对我网站重建的第一步以后。更重要的是,我希望我能更勤勉的更新我的博客,这8年我只写了一篇而已,希望大家能对我的博客感兴趣。
这篇博文的目标对于初学者来讲,比较容易理解,同时也提供给那些已经对这个概念熟悉的人一些有用的细节和例子。希望大家能给我反馈。

阅读全文

作者:AppCoda,原文链接,原文日期:2015-11-16
译者:pmst;校对:numbbbbb;定稿:numbbbbb

几乎所有的应用程序都有一个共同的特点:允许用户在多个视图控制器之间导航和协同工作。这些视图控制器应用非常广泛,例如简单显示某些形式的信息到屏幕上,或从用户处收集复杂的输入数据。为了实现一款应用的不同功能,经常需要创建新的视图控制器,且多数任务比较艰巨。不过,倘若你利用expandable tableviews(之后统一译为可展开的 tableview ) ,我们就能避免创建新的视图控制器(以及相关的界面和 storyboard)。

阅读全文

作者:Tomasz Szulc,原文链接,原文日期:2015-11-14
译者:小袋子;校对:千叶知风;定稿:千叶知风

让我们来看看 XCConfig 文件如何才能在多个拥有不同配置的 target 中良好地工作。

今天我本计划学习一些新东西,因此我搜索了 mozilla/firefox-ios 库(译者:这是在火狐浏览器在 github 的一个开源项目)的相关信息,接着我发现他们会在项目中使用大量的配置文件。

阅读全文