Nate Cook

Nate Cook

Nate Cook (@nnnnnnnn) is an independent web and application developer who writes frequently about topics in Swift, and the creator of SwiftDoc.org.

文章

  1. guard & defer

    最近更新的 Swift 2.0 带来了两个新的能够简化程序和提高效率的控制流表达形式:guarddefer。前者可以让代码编写更流畅,后者能够让执行推迟。我们应该如何使用这两个新的声明方式呢?guarddefer 将如何帮我们厘清程序和进程间的对应关系呢?

  2. UIKeyCommand

    为了使 iPad 更高效的工作,iOS 9 增加了 可发现特性,这是一个叠加层,用于显示一个应用程序内当前可用的键盘命令。在 iPad 上,这个微小的变化使得键盘命令瞬间变得比以往有用多了,并且也使得 UIKeyCommand 成为你应用程序的一个必要的附加功能

  3. XCPlayground

    Playgrounds 本质上并不是 Swift 语言的一个特性——相反的,他们是 Swift 对于其所有功能,从其效率和性能,到他的深度和透明度的展现。透过 Playgrounds 的表面,去看看那些工具,他们使得 Playgrounds 成为了一个强大开发过程的一部分:source 和 resource,captured values 和 extended execution,以及整合了的 rich formatting 使得 Playground 成为了一个互动性的教学工具。

  4. Unmanaged

    通过 Swift 标准库就可以看出,Swift 在安全性和可靠性方面和与 Objective-C 互通性之间方面有着明显的界线。像 IntStringArray 这些类型在使用过程中都会表现出直接且无歧义的行为,但如果什么都不考虑就创建 UnsafeMutablePointerUnmanaged 等类型的实例,那恐怕就要踩到坑里了。

  5. Quick Look Debugging

    调试可能会是一个讽刺的实践。我们创建了各种任务来告诉我们的品脱大小的超级计算机代表我们来完成千差万别和不可估量的任务,但为了理解这些相同的程序,我们告诉计算机等等我们

  6. NSCalendar Additions

    NSCalendar 已经悄悄的构建了大量的方法方便大家获取和操作日期。 从全新的日期组件存取与日期比较方法,到强大的日期插值与枚举方法,有太多的东西被我们忽视了。接下来让我们抽点时间来了解一下吧。

  7. Swift 1.2

    Swift 正如其名,速度飞快。随着 Swift 1.2 beta 版本的发布,其开发团队在这次加速俯冲中一次性响应了开发社区的诸多需求,带来了许多激动人心的新特性。本周我们会花一点时间关注这个版本的两个明显提升使用体验的新功能:一个是 if let 语句 optional 绑定的巨大变化,另一个是 Objective-C 中的空值标注。

  8. IBInspectable / IBDesignable

    比起一个需要我们记住并且输入什么的界面来说,如果替换成我们能够看见并可控制的界面的话将会是巨大的进步。Xcode 6 提供了这样一个替代,用 IBInspectableIBDesignable,在旧技术上建立新的互动。

  9. Swift & the Objective-C Runtime

    即使一行 Objective-C 代码也不写,每一个 Swift app 都会在 Objective-C runtime 中运行,开启动态任务分发和运行时对象关联的世界。更确切地说,可能在仅使用 Swift 库的时候只运行 Swift runtime。但 Objective-C runtime 与我们共处了如此长的时间,我们也应该将其发挥到极致。

    本周的 NShipster 我们将以 Swift 视角来观察这两个运行时中关于关联对象和方法交叉的技术。

  10. JavaScriptCore

    OS X Mavericks 和 iOS 7 引入了 JavaScriptCore 库,它把 WebKit 的 JavaScript 引擎用 Objective-C 封装,提供了简单,快速以及安全的方式接入世界上最流行的语言。不管你爱它还是恨它,JavaScript 的普遍存在使得程序员、工具以及融合到 OS X 和 iOS 里这样超快的虚拟机中资源的使用都大幅增长。

  11. Long Live Cocoa

    Swift 是一个对于我们大多数人而言十分令人兴奋的语言,但是它依旧崭新。Objective-C 的稳定性和 Cocoa 的底蕴也意味着 Swift 确实没有准备好成为巨大改变的驱动力,至少现在没有。Cocoa 的深度和它提供的力量,与 Swift 携手让 Cocoa 变得从未如此相关与有前景。事实上,作为一个 Cocoa 开发者我不认为有比现在更兴奋的时候。

  12. UIPrintInteractionController

    随着各种不同方式的评论、标记、保存、分享都通过指尖的操作完成,纸质印刷品的价值很容易被人忽视。