使用 Swift 的面向协议编程定义 Segue 标识

2016-02-01
阅读 5 分钟
2.8k
回溯到八月份,我观看了 Swift in Practice WWDC15 这个超赞的视频。视频的第一部分让我印象十分深刻,因此我针对这部分写了一篇博客—— A Beautiful Solution to Non-Optional UIImage Named in Swift ——然后我最终开始准备写关于这个视频的第二部分,甚至其它更多令人激动的部分(毕竟,假期是最好的写博客的时机)(译...

优雅的 NSStringFromClass 替代方案

2016-01-29
阅读 2 分钟
4.2k
使用 Swift 过程中,我意识到的第一个问题就是没有 NSStringFromClass 的替代方案。在自定义 TableViewCell 时,我喜欢用类名作为 cell 的 identifier,然后在重用队列中,通过 NSStringFromClass 来获得 identifier,从而避免拼写错误。

Swift 魔法:公开 Getter,隐藏 Setter

2016-01-28
阅读 1 分钟
2k
作者:Gabriel Theodoropoulos,原文链接,原文日期:2016-1-11译者:saitjr;校对:小锅;定稿:千叶知风 在我之前发布的文章 构造器注入(Constructor Injection) 中,有这样的案例:在 struct 中有一个属性,这属性需要在外部读,并只能在内部进行写。当时的实现方式是: {代码...} 这种方式并不优雅,但却是我唯一能...

使用泛型来优化 TableView Cells 的使用体验

2016-01-27
阅读 6 分钟
3k
各位新年快乐????! 2016 年第一篇博客我想分享一个非常有用的技巧,那就是向大家展示 Swift 泛型的强大,以及方便地使用泛型来处理 UITableViewCells 和 UICollectionViewCells。

结构体中的 Lazy 属性探究

2016-01-26
阅读 4 分钟
3.1k
定稿注:原文没有提供源码,作为一个走心的翻译组,我们已经将本篇文章的最终版源码作成 Playground,可以到这个地址进行下载。 更新: 2015-12-17 提到 Swift evolution 邮件列表中一个关于行为属性的新提案,如果这个提案被采取,则本篇文章中的大部分将成为过时的内容

3D Touch之我见

2016-01-26
阅读 2 分钟
1.9k
Hey,现在有了支持3D Touch的iPhone和iOS9,这是一项伟大的科技杰作。让我们看看这为开发者和用户都带来了什么呢。本文主要是我对3D Touch的理解,然后列举了一些需要注意的点。

每周 Swift 社区问答 2016-01-13

2016-01-26
阅读 4 分钟
3.2k
本周大事是第一届中国 Swift 开发者大会。笔者也请假去北京朝圣。由于大神超多,场面很火爆。可以看出随着 Swift 的开源,加入 Swift 大军的程序猿越来越多。大神们的讲座也很精彩。不虚此行。大家可以通过这里查看大会的精彩内容。本周共整理了5个问题。

聚焦 Swift #3

2016-01-26
阅读 2 分钟
1.9k
正如预期的一样,在圣诞放假期间 Swift.org 的步伐慢了下来。我也在放假期间出去玩耍了一番,所以这篇文章会比较平常的来得短。如果你还没准备好,我强烈建议你从代码中抽身出去享受一下假期,防止过劳(译者注:然而我们并没有放假)。?现在,让我们开始本周简讯!

聚焦 Swift #2

2016-01-26
阅读 3 分钟
2.3k
Swift.org 社区已经度过其源码开发的第二个星期。倘若你期望过个安静的周末,最好打消这个念头。要知道项目中仍旧还有一大堆事情需要处理,压根就没有减缓的迹象。Swift 团队继续以公开的方式运作,鼓励开发者们加入到贡献的行列中。本周主要修复了一些 crashs 以及更多的 Swift 变革提案。闲话少说,开始本周简讯!

聚焦 Swift #1

2016-01-26
阅读 2 分钟
1.9k
上一篇文章中我阐述了自己的想法以及时刻关注 Swift open source 项目的动向,看起来深得社区中许多开发者的喜欢。因此,我将竭尽所能维护该周刊——每周三更新哦,要知道 Swift 开源项目通告就在这一天发布。每周我都会提供高质量的汇总,细述本周发生的变动,更新一些有意思的统计信息,以及提供感兴趣的内容链接。如果...

在 iOS8 和 iOS9 中锁定视图自动旋转

2016-01-26
阅读 1 分钟
2.2k
这周我在开发一个 App,客户想要此 App 在某些情况下锁定竖屏,某些情况下锁定横屏。幸运的是,我已经在自动布局下创建了所有的视图,因此它们已经支持所需的约束,我仅需要锁定视图旋转。

使用 Realm 和 Swift 创建 ToDo 应用

2016-01-26
阅读 14 分钟
5k
智能手机的快速发展的同时,涌现出了很多对开发者友好的开发工具。这些工具不仅使得开发变得更加简单和容易,同时也保证了性能和产品质量。如今想要在 App Store 中占据一席之地,并非易事。而且想要使得应用易于扩展就更加困难了。当你成功获得百万量级的用户时,应用中的每一个细节都不能放过,并且需要在很短的时间完...

如何简单地模拟 NSURLSession 的返回数据

2016-01-26
阅读 3 分钟
2.4k
那么我们到底要做什么呢?其实就是模拟方法的回调数据。而这里的 NSURLSession 指的是伪造 web API 的响应。这样做有一些好处,例如:

教你如何在 Auto Layout 下设置两个视图之间的最小间距

2016-01-26
阅读 1 分钟
2.9k
假设现在要在某个视图(view)中放置三个子视图(subviews)。其中两个子视图放置在上方,第三个视图紧挨着它们放到下方。不过上方的两个视图高度不定,并且你不知道哪个更高一些。现在要求我们使用自动布局(Auto Layout)来控制下方视图和上方视图之间间距至少 10 单位像素。

Friday Q&A 2015-11-06:为什么 Swift 中的 String API 如此难用?

2016-01-25
阅读 13 分钟
2.9k
译者注:可以结合 WWDC 2015 Session 227 - What's New in Internationalization 一起学习

在 Swift 中编写 watchOS 2 Hello World 程序

2016-01-21
阅读 4 分钟
2.5k
过去的几个月我一直保持着写博客的习惯,但是现在我得专心工作了。最近在做一些 watchOS 2 相关的更新工作,我觉得如果出个系列教程会对大家很有帮助。首先我们需要学会开发第一个 watchOS 2 应用,所以下面来开发一个 watchOS 2 风格的 “Hello World!”吧!

Swift 中集合与字典的角逐

2016-01-20
阅读 5 分钟
2.5k
传统的 Cocoa 在使用字典时有个不好的习惯。无论是用户信息还是字体选项亦或是视频流(AVFundation)设置,NSDictionary 一直担任 Cocoa 传递数据的角色。字典是灵活的、易用的,但它也存在诸多潜在的危险。

iOS:如何用 Swift 实现弱代理

2016-01-19
阅读 2 分钟
3k
有一个常见的场景:一个 ViewController 控制多个 View ,并且想在 ViewController 中代理 View 的一些逻辑。

Swift 一周简讯 #4

2016-01-18
阅读 2 分钟
3.1k
假期一晃而过,Swift.org 又重新开始更新东西啦。倘若你也是 Apple GitHub 开源项目的跟随者之一,你可能已经注意到了。早前不知为何我错过了一些重要的东西,直到本周我才发现 SwiftExperimental.swift 这货。目前,它为 Set 集合自定义了大量 unicode 操作(译者注:有 ∈ 、∉、⊂、⊄、⊆ 等等!)。这真是棒极了!我迫不...

要不要来点 Swift

2016-01-15
阅读 9 分钟
2.2k
做程序员有一点优势:如果工具不好用,你自己就可以对它进行优化。而 Swift 让这一点变得尤其简单,它包含的几个特性可以让你以一种自然的方式对这门语言进行扩展和自定义。

关于 guard 的另一种观点

2016-01-14
阅读 4 分钟
2.5k
今天,iOS Dev 周刊 贴出一篇 Alexei Kuznetsov 的关于『从你的代码中删除 guard 』的文章。Kuznetsov 指出支持他这篇文章的理论依据主要来自于 Robert C. Martin,这位世界顶级软件开发大师提出:代码必须精简。即关于函数存在两条规则,第一条:函数应该保持精简;第二条:没有最精简,只有更精简。Alexei Kuznetsov ...

Swift包管理器:在Linux上创建和使用X11包

2016-01-13
阅读 7 分钟
2.9k
现在 Swift 已经开源了,应该有很多感兴趣的用户已经在他们的 Linux 系统上安装把玩过了。然而,目前的 Foundation 框架还在紧锣密鼓地开发中,所以如果你想开发出比命令行更复杂一点的程序,就得链接已有的 Linux 库,如 GTK, Cairo 或者 libpng 以开发出图形界面的程序。

初识 iOS 9 中新的联系人框架

2016-01-12
阅读 29 分钟
3k
作者:gabriel theodoropoulos,原文链接,原文日期:2015-09-29译者:BridgeQ、星夜暮晨;校对:小铁匠Linus;定稿:[](undefined)

Swift:带有私有设置方法的公有属性

2016-01-11
阅读 2 分钟
4.2k
通常你会使用 setter 以及 getter 来达到封装的目的。然而,有时候你根本不想对外提供类中的设置方法。对于这样的情况,你可以使用带有私有设置方法的属性。

iOS 并发:从 NSOperation 和 Dispatch Queues 开始

2016-01-08
阅读 14 分钟
3.3k
并发(Concurrency)在 iOS 开发中总是被看作是洪水猛兽一般。人们以为它是一个很危险的领域,很多开发者都尽量避免与其接触。更有传闻说你一定要竭尽所能的避免写任何关于多线程的代码。假如你对并发不是很了解却还去使用它的话,那么我同意:并发是很危险的。只是它的危险是因为你不了解它。试想一下常人一生中体验过...

如何使用 iOS 9 App 瘦身功能

2016-01-07
阅读 6 分钟
4.9k
更新: iOS 9 有个 bug 影响 APP 瘦身功能,这个 bug 在 iOS 9.0.2 被修复。从 AppStore 下载 App 时请留意。

每周 Swift 社区问答 2016-01-06

2016-01-06
阅读 10 分钟
3k
作者:shanks & pmst 本周整理问题如下: Question on extracting a substring from a url All func pointers need a protocol now Property for Double and CGFloat Question on dismissing model ViewController count numbers in array and order them by count in swift Cannot invoke [Method] with argument l...

使用 unwind segue 而不是 delegate 模式传递回调数据

2016-01-05
阅读 3 分钟
2.5k
通常当我们创建一个视图控制器作为 picker 时,它会从屏幕的底部出现,覆盖在当前页面上,并且仅只占屏幕的一部分。当选择一个值后,就通过 delegate 模式返回回来。代码大概就像这样:

Alert Controller 中实现可编辑文本字输入框教程

2016-01-04
阅读 3 分钟
2.9k
UIAlertController 类不仅用于呈现警告弹窗,还能够提供 Text Fields 来获取文本信息输入。本教程演示了从用户处获取账号和密码,并打印到终端中。此教程开发环境为 Xcode 7.2 以及 iOS 9。

在团队开发中使用 CocoaPods 的小技巧

2015-12-31
阅读 1 分钟
2.9k
在我工作的一个团队中,我们有很多关于安装 CocoaPods 的问题。团队成员拥有不同的 cocoapods gem 的安装版本,并且当有人运行 pod install 时,会将事情搞得一团糟。