聚焦 Swift #0

2015-12-29
阅读 2 分钟
2.1k
译者注:这个系列的关注重点是 Swift 开源项目本身的发展,作者会截取每周发生的大事(比如合并了一个大改动)并进行分析,还会写一些有趣的小发现,很有意思。我们已经拿到翻译授权,会每周进行更新,欢迎关注。

Friday Q&A 2015-12-11:Swift 中的弱引用

2015-12-28
阅读 13 分钟
4.6k
即便你已经在火星的一个洞穴里,紧闭着你的双眼并且捂住你的耳朵,也避免不了 Swift 已经开源的事实。正因为开源,我们能够更加方便地去探索 Swift 中的很多有趣的特性,其中之一便是 Swift 中弱引用是如何工作的问题。

关于 Swift 演变的趣味探讨

2015-12-25
阅读 3 分钟
1.7k
这创建了一个拥有所有 NSDecimal 所有行为的 Currency 类型。然而,你不能让一个 NSDecimal 类型的元素和一个 Currency 类型的元素相加,因为 Swift 中有类型检测。此外,你也可以扩展 Currency 类型。这样看起来就更加有针对性,因为不需要子类化或者添加新的存储属性。

Friday Q&A 2015-11-20:协变与逆变

2015-12-24
阅读 6 分钟
2.9k
在现代的编程语言中,子类型(Subtypes)和超类型(Supertypes)已经成为了非常常见的一部分了。协变(Convariance)和逆变(Contravariance)则能告诉我们什么时候使用子类型或超类型会优于原来使用的类型。这在我们使用的大多数编程语言中非常的常见,但是很多开发者仍然对这些概念感到模糊不清。今天我们就来详细讨论...

Swift 3 及展望

2015-12-23
阅读 2 分钟
3.6k
2015 年 12 月 3 日,Swift 正式开源。同时,官方也公布了 Swift 3 的最新消息,即 Swift 3 将会在 2016 年秋天发布。

如何在 Swift 中使用 Alamofire 进行网络编程

2015-12-22
阅读 15 分钟
6.6k
2014 年 6 月 Apple 发布 Swift 以来,如何在 Swift 中进行网络编程一直成为程序猿们关注的焦点。甚至,Chris Lattner,Swift 的作者之一,也发推说过,在 Swift 中解析 JSON 还有很长的路要走。因此,许多人开始寻求替代方案。尽管,在 Swift 中也有处理 JSON 解析的内建类,但是对开发者来说并不是很友好。幸运的是,A...

Swift 3.0 和 Foundation

2015-12-21
阅读 1 分钟
2.4k
本项目提供了各个平台下 Foundation API 的具体实现,但并未使用 Objective-C runtime 机制。在 OS X、iOS 以及其他 Apple 平台下,应用程序都应该使用指定操作系统下的 Foundation 进行开发。我们希望尽可能地抽象出具体的底层平台...

Swift 的变化:从 2.2 到 3.0 会带来什么

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

Mixins 比继承更好

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

Beta 2 更新:Swift 2.1 Playground 使用值放置方法

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

Swift 的 NSDate 初学者指南

2015-12-14
阅读 17 分钟
4.6k
如果问我在做过的所有项目中做的最多的事情,那处理日期绝对是榜上有名(译注:本文中的「日期」是指代 NSDate 对象,同时包含「日(date)」 和「时(time)」这两个元素)。毋庸置疑,无论工作量是多是少,开发者迟早需要「玩」一下 NSDate 类,去按某种方式处理一下日期。从简单的将一个日期转换成一个字符串到对日期...

UIAlertController 测试的修正

2015-12-11
阅读 2 分钟
2.6k
@dasdom 你的测试是正常的,但是在 MockUIAction 中的简便 init 方法没有被调用。你不能重写 init 方法,看起来像是 iOS 的bug。 — Larhythimx (@Larhythmix) 25. November 2015

化零为整:Reduce 详解

2015-12-10
阅读 11 分钟
7.2k
即使早在 Swift 正式发布之前,iOS / Cocoa 开发者都可以使用诸如 ObjectiveSugar 或者 ReactiveCocoa 第三方库,实现类似 map、flatMap 或 filter 等函数式编程的构建。而在 Swift 中,这些家伙(map 等几个函数)已经入驻成为「头等公民」了。比起标准的 for 循环,使用函数式编程有很多优势。它们通常能够更好地表达...

几个 Swift 代码规范

2015-12-09
阅读 3 分钟
3k
作者:Erica Sadun,原文链接,原文日期:2015-11-17译者:mmoaay;校对:lfb_CD;定稿:shanks 我们需要经常带着新问题来重新审视一下以前的代码规范。 Kevin 提供的一套规范:“如果尾部的闭包参数是函数式的就用圆括号。如果是程序式的就用花括号。” {代码...} 样式一致性与闭包是否有返回值相关。目前存在的争议是我...

iOS:选择 Realm 而不是 CoreData

2015-12-08
阅读 4 分钟
4.1k
我已在网上多次看到「Realm」这个词。我甚至曾在十月时有机会参加由 Swift 用户组组织的 Realm 聚会。最终,我有机会用上了 Realm 这个框架。

斐波那契数列型-从数学角度学习 Swift 序列

2015-12-06
阅读 9 分钟
3.7k
这篇博文启发自Code Review.SE上的一个讨论,同时nerd-sniped上的关于数学的有趣的学习。让我对数学和 Swift 的结合有了兴趣。所以我花了一段时间来把这些知识整理成一篇博文,特别是自从我完成了对我网站重建的第一步以后。更重要的是,我希望我能更勤勉的更新我的博客,这8年我只写了一篇而已,希望大家能对我的博客感...

如何在 iOS 中实现一个可展开的 Table View"

2015-12-05
阅读 20 分钟
4k
几乎所有的应用程序都有一个共同的特点:允许用户在多个视图控制器之间导航和协同工作。这些视图控制器应用非常广泛,例如简单显示某些形式的信息到屏幕上,或从用户处收集复杂的输入数据。为了实现一款应用的不同功能,经常需要创建新的视图控制器,且多数任务比较艰巨。不过,倘若你利用expandable tableviews(之后统...

Swift 中的 weak 和 unowned"

2015-12-04
阅读 3 分钟
3.9k
首先,我们创建两个视图控制器:RootViewController 和 SecondViewController。如果点击了 RootViewController 视图中的按钮,就呈现 SecondViewController。我们可以通过在 storyboard 使用 segue 来简单实现这个目的。另外,我们还创建了一个名为 ModelObject 的类,内含一个类型为 ModelObjectDelegate 的委托对象(...

你应该把 Objective-C 的代码转为 Swift 吗?"

2015-12-02
阅读 1 分钟
3.8k
乍一看这似乎是最简单的方法了。既然你已经有了一个 Objective-C 编写的项目,继续用OC写下去肯定不是问题。不过。这会产生一些问题:

Xcode:用于管理多个 target 配置的 XCConfig 文件

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

实现可打印内容的 try? 和 try!

2015-11-27
阅读 3 分钟
2.8k
Swift 2 中的try?运算符在可选类型(optionals)和错误处理机制中抛出 error 转换为输出 nil 结果值之间建立了桥接。这样你就可以使用 guard 语句和条件绑定,只关注处理成功的用例(case)。

Swift:map 和 flatMap 基础入门

2015-11-26
阅读 1 分钟
4.4k
map函数能够被数组调用,它接受一个闭包作为参数,作用于数组中的每个元素。闭包返回一个变换后的元素,接着将所有这些变换后的元素组成一个新的数组。

tvOS 入门:开发你的第一个 tvOS 应用

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

如何使用闭包初始化来加速 Swift 的 playground

2015-11-24
阅读 2 分钟
3.5k
Swift 的 Playground 可能会莫名其妙地变慢,尤其当你使用 SpriteKit 或 SceneKit 时。尽可能的把代码迁移到外部资源文件中,可以优化编译并获得更好的运行时速度。

Swift 反射 API 及用法

2015-11-23
阅读 10 分钟
6.5k
尽管 Swift 一直在强调强类型、编译时安全和静态调度,但它的标准库仍然提供了反射机制。可能你已经在很多博客文章或者类似Tuples、Midi Packets 和 Core Data 的项目中见过它。也许你刚好对在项目中使用反射机制感兴趣,或者你想更好的了解反射可以应用的领域,那这篇文章就正是你需要的。文章的内容是基于我在德国法兰...

WatchOS 2: Hello, World

2015-11-22
阅读 1 分钟
2.5k
欢迎学习我的WatchOS 2系列教程。我会从最简单的部分开始带你学习WatchOS 2。一个 "Hello,World" app,没错,这个程序虽然非常简单,还是有一些要注意的地方。

Swift 中枚举高级用法及实践

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

3D Touch介绍:电子秤App与快捷操作

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

WatchConnectivity:通过用户信息共享所有数据

2015-11-18
阅读 8 分钟
3k
作者:Natasha The Robot,原文链接,原文日期:2015-10-21译者:小袋子;校对:千叶知风;定稿:numbbbbb本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 [链接]