swift

Swift, ReactiveCocoa第一个app

引言这篇文章将纪录用Swift语言配合ReactiveCocoa写一个伪搜索引擎app的历程。大量参考了RayWenderlich.com上的文章(原文链接1 原文链接2)。原文是针对Objective C的,但是现在Swift都已经更新到了3.0(虽然因为作者没有developer id,用的还是2.2),ReactiveCocoa也更新到了4.2,原来的大多数技术都已经

SE-0005 更好的把Objective-C APIs 转换成 Swift 版本

译者:泊学提交 review 前必读做为下面三份文档的一部分,它们的内容是彼此关联的:SE-0023 API设计指南SE-0006 在标准库中应用设计指南SE-0005 更好的把Objective-C APIs转换成Swift版本这三份文档的内容是相互关联的(例如:标准库中一个 API 的调整和某个 API guideline 是对应的,或根据某条设计指南制定的 Clang

亲爱的 Erica:Swift 3 有哪些最重大最出色的改变?

作者:Erica Sadun,原文链接,原文日期:2016-06-09译者:天才175;校对:shanks;定稿:千叶知风亲爱的埃丽卡:“对于还没追随最新进展的人来讲,你认为 Swift 3 将会有哪些最重大或最出色的改变?说实话,我有点失望。相对于 Swift 1 到 2 的改变(aka 协议扩展),给我的感觉就像是虽然有重大的改变,但不是那种能改变你如何设计一个程序的”

今年 WWDC 大会有哪些新技术?

作者:Olivier Halligon,原文链接,原文日期:2016-06-20译者:Crystal Sun;校对:numbbbbb;定稿:千叶知风好吧,好悲伤,我今年没能参加 WWDC 大会 :cry:,只能看视频 :movie_camera: 和 Twitter。我打赌你们肯定都看了发布会的重要内容(至少看了 keynote)和各个平台的新动态 :tada:。不过你知道

来自Linkedin的Swift编程风格指南

iOS系列文章地址原文地址首先推荐阅读下 Apple's API Design Guidelines。Table Of ContentsSwift Style GuideCode FormattingNamingCoding Style3.1 General3.2 Access Modifiers3.3 Custom Operators3.4 Switch Statemen

《重构与模式》 Swift 版之创建方法

作者:Natasha The Robot,原文链接,原文日期:2016-05-27译者:Crystal Sun;校对:Cee;定稿:Channe正如上个月在几个会议上我所讲的那样,《重构与模式》 这本书被多次提及,特别是在我喜欢的研讨会上。最终我还是读了一小部分(至少是在 WWDC 大会发布后的疯狂情绪高涨之前),并且我希望能够通过将书中的模式(pattern)记录下来,以

设计师写代码的方式

设计师应该会代码吗?是的,但不是像开发者那样。这个著名的问题“设计师应该会代码吗?”,答案不只是点个头了,它有更深刻的意义。首先,我们了解一些相关背景。我们正在迅速地转向移动端主宰的世界。从Sketch 到 Pixate, 再到 Framer,设计师的工具,能越来越简单有效地通过原型表现创意。制作app的成本从没有这么低过。也从从不曾如此迅速。对于开发者来说,这意味着他们终

MVVM 不是那么好

作者:Soroush Khanlou,原文链接,原文日期:2015-12-17译者:zltunes;校对:Channe;定稿:shanks我写过许多关于让 ViewController 变得更轻量的文章,Model-View-ViewModel 是一种常用的可以实现该目的的设计模式。我觉得 MVVM 是一种反人类的设计模式,它使架构更加混乱而非清晰。View Model的命

Swift 中的尾递归和蹦床

作者:uraimo,原文链接,原文日期:2016-05-05译者:aaaron7;校对:numbbbbb;定稿:shanks通过递归来实现算法往往比基于循环的实现来得更加清晰,但递归的实现会因为每次方法调用的时候都需要分配和管理栈帧而导致额外的开销,这会导致递归的实现很慢而且有可能很快就耗尽了栈空间(也就是栈溢出)。为了避免栈溢出,一个推荐的做法是把程序重写成尾递归的形式来

是否应该使用可选映射?

作者:Erica Sadun,原文链接,原文日期:2015-12-27译者:Cee;校对:靛青K;定稿:numbbbbb在 Swift-Evolution 中有个关于如何简洁地用一个可选值作为 key 获取字典的 value 的讨论:let dict: [SomeType: ...] = ...let key: SomeType? = someCall()let value