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

上月在旧金山举办的苹果发布会中,苹果公司发布了第四代苹果电视。然而,此次更新不同于以往任何版本,苹果新电视将允许用户从 App Store 下载应用和游戏。

这样的声明无疑给开发者打了一剂鸡血。新苹果电视中,位于 Cupertino(译者注:苹果电脑的全球总公司所在地,位于美国旧金山)的巨人介绍了一个新的操作系统,有别于 iOS 系统,新系统名为 tvOS。tvOS 基于 iOS 开发,有少许改动。 我们将使用通用框架和你最喜欢编程语言(当然是 Swift 喽,毫无疑问!)来编写几个简单应用,初步了解 tvOS。

阅读全文

作者:Benedikt Terhechte,原文链接,原文日期:2015-10-24
译者:mmoaay;校对:千叶知风;定稿:千叶知风

尽管 Swift 一直在强调强类型、编译时安全和静态调度,但它的标准库仍然提供了反射机制。可能你已经在很多博客文章或者类似TuplesMidi PacketsCore Data 的项目中见过它。也许你刚好对在项目中使用反射机制感兴趣,或者你想更好的了解反射可以应用的领域,那这篇文章就正是你需要的。文章的内容是基于我在德国法兰克福 Macoun会议上的一次演讲,它对 Swift 的反射 API 做了一个概述。

阅读全文

作者:Benedikt Terhechte,原文链接,原文日期:2015-10-17
译者:小锅pmst;校对:shanks;定稿:shanks

译者注:作为一个走心且有逼格的翻译组,我们对本篇文章中的代码都进行了验证,并且写了将代码分为上下两篇做成了 playground,代码中有详尽的注释。可以到这个github地址上进行下载,这个代码由翻译组的另一位小伙伴 ppt 提供。

本文是一篇详细且具有实战意义的教程,涵盖几乎所有枚举(Enum)知识点,为你解答Swift中枚举的应用场合以及使用方法。

阅读全文

作者:Maxime Defauw,原文链接,原文日期:2015-11-09
译者:saitjr;校对:numbbbbb;定稿:numbbbbb

随着 iPhone6s 与 6s plus 的到来,苹果给我们展现了一种全新的交互方式:重按手势。你可能知道,这个特性已经在 Apple Watch 和 MacBook 上推出了,不过那时叫 Force Touch,就是字面上的意思,给用户的交互添加一种新的维度。

如果你很好奇 iPhone 的 Force Touch 为啥要更名为 3D Touch,那告诉你吧,you’re not alone(译者注:请用 MJ 的调子唱出来…)。不久前,之前也对这名字纠结不已的 Craig Federighi(译者注:Apple 高级副总裁)介绍了这个新特性,第一条微博就这样产生了。也不知道 Force Touch 这名字有啥不好的,就因为有太多星球大战的梗?(译者注:其实我不知道这梗…)(校对注:译者是个妹子)(定稿注:还是单身)

阅读全文

作者:Natasha,原文链接,原文日期:2015-10-21
译者:小袋子;校对:千叶知风;定稿:numbbbbb

在看这篇文章之前,确认你已经看过之前发布的几篇 WatchOS 2 的文章:

通过 User Info 实现后台数据传输应该在你确保所有数据被传输的情况下(不仅仅像Application Context)。用户信息数据是在FIFO(先进先出)队列中排队传输的,所以不会有东西被重写。

阅读全文

作者:Natasha,原文链接,原文日期:2015-11-13
译者:小袋子;校对:numbbbbb;定稿:numbbbbb

Swift 一个强有力的语言特性就是能够用多样的函数式风格去编写代码。这在社区看来非常激动人心。

我在去年年底花费了一些时间学习函数式编程,所以我可以写更好的 Swift 代码。因此,我非常推荐你们也花时间去学习一下!

另外,我非常推荐推荐你们去看 Functional Swift conference上的每一个视频。

所以在花了这么多时间后,我想要总结一下个人有关于函数式编程在 Swift 应用的一些思考。

阅读全文

作者:Erica Sadun,原文链接,原文日期:2015-08-27
译者:CMB;校对:numbbbbb;定稿:千叶知风

假设你正在使用一个类型,当有错误时发生时你想要输出异常发生时的上下文。通常你会使用一些内置的编译器关键字:__FUNCTION____LINE____FILE__ ,这些关键词提供了有关函数调用详细的文本插值:

阅读全文

作者:Ole Begemann,原文链接,原文日期:2015-06-22
译者:小锅;校对:shanks;定稿:shanks

更新:

  • 2015-06-25
    增加关于传递另一个(可以捕获外部变量的)闭包到 userInfo 参数的备注。

  • 2015-07-01
    针对 Xcode 7 beta 2 更新从 CGPathElement 创建一个 PathElement 类型的代码。

几年前,我曾经写过一篇关于如何获取 CGPathUIBezierPath 中元素的文章。可以通过调用 CGPathApply 函数,并给这个函数传入一个回调的函数指针来达到这个目的。 随后 CGPathApply 会对 path(CGPath 或 UIBezierPath) 中的每一个元素调用这个回调函数。

阅读全文

作者:Tomasz Szulc,原文链接,原文日期:2015-09-13
译者:Yake;校对:numbbbbb;定稿:CMB

在相当长的一段时间内 NSUndoManager 对我来说都是一个很神秘的东西。我想学习使用它,但是一直没有时间。一直到今天,我写了一个简单的应用,这个应用创建了一个可以移动的矩形,并且还可以修改矩形的属性,例如背景色或者圆角。

阅读全文

作者:Olivier Halligon,原文链接,原文日期:2015-10-17
译者:ray16897188;校对:小袋子;定稿:numbbbbb

之前的一篇文章中,我们用mapflatMap这两种基于OptionalArray类型的方法做了很多好玩儿的事情。但你可能并没有意识到,你已经在不自知的情况下使用了单子(单子,即 Monad:一个函数式编程的术语 - 译者注)。那么什么是单子?

阅读全文