01.Swift语言指南

@(〓〓 iOS-Swift精选)[Swift 文章精选]


目录

  • 01.Swift语言指南
  • Swift 语言指南
  • 目录
  • 官方文档
    • Welcome to Swift
    • Swift Programming Language
    • Using Swift with Cocoa and Objective-C
    • App Extension Programming Guide
    • HomeKit Developer Guide
    • Swift Blog - Apple Developer
    • iOS Human Interface Guidelines
  • 教程、指南、文章
  • 开源项目
  • 推荐网站
  • 开发工具
    • 编程工具
    • 代码管理
    • Xcode 插件
    • 管理工具
    • 调试工具
    • 设计工具
    • 参考文章
  • 媒体报道
  • 开放平台
  • Apple Watch 指南

Swift 语言指南

@SwiftLanguage 更新于 2016-2-22,更新内容详见 Issue 46。往期更新回顾详见《收录周报》</span>

这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排。对于精选项目及文章,可直接访问《Swift 项目精选》和《Swift 文章精选》。

目录


<a id="swift_doc"></a>官方文档

<a id="welcome"></a>1. Welcome to Swift

苹果针对 Swift 开发者官方文档入口。其中包括:
Swift 概括Swift Programming LanguageUsing Swift with Cocoa and Objective-C

<a id="spl"></a>2. Swift Programming Language

<a id="using_swift"></a>3. Using Swift with Cocoa and Objective-C

<a id="extension_guide"></a>4. App Extension Programming Guide

<a id="swift_homekit"></a>5. HomeKit Developer Guide

  • HomeKit 开发指南(中文版)(By @CocoaChina):“内容包括:简介、启用HomeKit、创建Home布局、创建Homes和添加Accessories、观察HomeKit数据库的变化、访问服务和特性、测试HomeKitApp、创建动作集(Action Sets)和触发器(Triggers)以及用户管理”。

<a id="swift_blog"></a>6. Swift Blog - Apple Developer

"值得一提的是,Swift 博客是苹果官方网站的第一个 Blog,这也代表了苹果对开发者和消费者的态度正变得越来越开放。"

译文 译者 原文
- N/A New Playgrounds Part 2 - Sources
Swift Nullability and Objective-C Bannings Nullability and Objective-C
- N/A New Playgrounds
- N/A The as! Operator
Swift 1.2 和 Xcode 6.3 beta @老码团队 Swift 1.2 and Xcode 6.3 beta
- N/A New Swift Development Courses Available on iTunes U
Swift REPL:一切皆可重定义 @MichealGeng Redefining Everything with the Swift REPL
Swift 中的 NSMethodSignature 怎么了? @pockry What Happened to NSMethodSignature?
Swift REPL 入门介绍 - Introduction to the Swift REPL
可失败构造器 @DevTalking Failable Initializers
N/A Building Your First Swift App Video
通过 Playground 展示一些编码模式 @DevTalking Patterns Playground
Swift 中 Optional 类型的使用案例分析:valuesForKeys - Optionals Case Study:valuesForKeys
Swift 中的访问控制与 protected - Access Control and protected
Swift 中的值类型和参照类型 - Value and Reference Types
WWDC 2014大会中的 Playground 大炮气球示例 - Balloons
在 Swift 中构建布尔类型 - Boolean
Swift 中的文件和初始化 - Files and Initialization
在 Swift 中使用 C 语言的指针 - Interacting with C Pointers
*Swift 新特性 - 访问控制(文档版) - Access Control

<a id="ios_ui_guide"></a>7. iOS Human Interface Guidelines


<a id="swift_courses"></a>教程、指南、文章

旧版内容过于庞杂,不再维护,取而代之的是《Swift 文章精选》。P.S. 需要查阅旧版内容的同学,详见Swift 教程(旧版)


<a id="swift_projects"></a>开源项目

旧版内容过于庞杂,不再维护,取而代之的是《Swift 项目精选》。P.S. 需要查阅旧版内容的同学,详见Swift 项目(旧版)


<a id="recomm_sites"></a>推荐网站

  • 苹果官方

    • Swift:Swift 概述、博客以及开发资源。
    • swift.org:开源后独立出来的 Swift 开源社区。
    • GitHub:apple:苹果在 GitHub 上的开源项目。
    • GitHub:apple/swift:swift 语言在 GitHub 上的开源项目。
  • ksm/SwiftInFlux:作者(Karol Mazur)将 Apple Developer Forums 上有关 Swift 特性、缺陷及变更讨论分类汇总并更新到 GitHub,具有很好的可读性。从中可以一窥 Swift 缺陷及未来潜在地变化。最关键地是有 Chris Lattner 及核心团队答疑解惑。

  • raywenderlich.com(中文版):由Ray Wenderlich创建,专注于开发高质量编程指南(近期优质Swift文章及视频教程不断),著名的iOS/OS X博客及开发教程网站,非常适合新手学习。近期第一时间出了三本 Swift 新书

  • Natasha The Robot: 时髦码农不容错过的 Swift 开发实战教程类网站。为了简化学习复杂性,每一篇文章涵盖技术点单一又独立,配以开发步骤、运行结果以及代码等标准方式教授。难能可贵的是,它往往出品“追剧式”(最新开发特性或API跟进式)教程,实在是开发者必藏精品网站。

  • NShipster (中译版@刘镇夫April Peng@李乐佳@程序员付恒 等翻译):著名开源作者 Matt Thompson 创建的开发技术博客网站,他开发了 AFNetworking 网络库,也是非常多产的开源作者。更多了解参考:《COCOA 潮人 MATTT THOMPSON》 By @程序员付恒

  • jamesonquave.com:移动开发者,优秀个人博客(近期文章同样关注于Swift 语言,写得很优质)。同时他将于8/30发布一本新书《Developing iOS 8 Apps in Swift》 (Learn To Make Real World iOS 8 Apps)及视频教程。

  • objc.io(中译版 By @onevcat 及其朋友们):"关于 Objective-C 最佳实践和先进技术的期刊。 由 Chris Eidhof, Daniel Eggert 和 Florian Kugler 成立于柏林。我们成立 objc.io 的目的是针对深入的、跟所有 iOS 和 OS X 开发者相关的技术话题创造一个正式的平台。“

  • iOSCreator:这类开发指引式教程对于初学者来讲,是直接明了的有效学习资源。推荐者@荧星诉语

  • iOS Dev Weekly:收录一周以来 iOS 开发资讯链接,并于周五发布。由 Dave Verwer 创办,他是一位 iPhone 和 iPad 开发者以及培训师。

  • Appcoda.com:质量很高的一个 iOS 开发教程站,其中iOS Programming Course这个专题很适合刚接触 iOS 开发的新手学习。

  • 中文 iOS/Mac 开发博客列表:By @唐巧_body

  • devtalking.com:高产的中译博客。翻译了官方博客 Swift Blog - Apple Developer,《App Extension Programming Guide》。参与翻译了《Swift Programming Language》等。

  • SwiftGG:一个走心的 Swift 翻译组,由《The Swift Programming Language》中文版翻译团队原班人马组成, 翻译的文章来源于国外的优秀 Swift 网站和博客,且全部获得作者和网站授权。

  • Swift Weekly Brief:“这个博客现在每周会将Swift开源中的重要讨论和提交整理成Open source Swift weekly brief,这对一线开发者尽早了解这门语言的动态情报很有帮助。By @崔康总编 ”。来源:Jesse Squires

  • iosdevtips.co:iOS Development Tips

  • <a id="recomm_resources"></a>资源合集

以下是其它开发者社区或 Swift 爱好者整理的有关 Swift 语言学习的资源列表。

* [SwiftEducation](https://github.com/SwiftEducation):“这是建立在 GitHub 上的一个 Swift 学习资料汇集,包括了有关幻灯和多个练手的应用程序源码。By @极客头条”。的确有不少基础实用的好[教程](https://github.com/SwiftEducation/presentations)。这对于基础学起的同学有福了。
* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education):整理地如此美妙的学习资源,实在让人太欢喜了。
* [matteocrippa/awesome-swift](https://github.com/matteocrippa/awesome-swift):这个版本的 Swift 资源集合内容丰富,分类也不错。作者:[Matteo Crippa](matteocrippa/awesome-swift)
* [适合iOS开发者的 15 大网站推荐](http://www.csdn.net/article/2015-03-04/2824108-ios-developers-sites/1):的确很全、很主流的国外 iOS 开发者网站。
* [码农周刊 -《Swift 特刊》](http://weekly.manong.io/issues/33?ref=swift)
* [CocoaChina -《Swift 新手入门汇集帖》](http://www.cocoachina.com/bbs/read.php?tid=204512)
* [CSDN_CODE -《Swift 编程语言资料大合集》](http://code.csdn.net/news/2820075)
* [InfoQ -《学习苹果 Swift 语言的一些在线资源(英文)》](http://www.infoq.com/cn/news/2014/06/apple-swift-learning-resources)
* [刘兰涛 -《Swift 学习资源》](https://github.com/Lax/iOS-Swift-Demos/wiki) By [@懒桃儿吃桃儿](http://weibo.com/u/1653644220)
* [learnswift.tips](http://www.learnswift.tips/):国外主流 Swift 学习资源集合。
* [Awesome iOS](https://github.com/vsouza/awesome-ios):一个 iOS 的各类优秀的开源项目集合。真不错!可惜Swift开源项目资源不足。
* [iOS Developer Tips](http://iosdevelopertips.com/):还是有关 iOS 的开发资源及文章合集。
* [Wolg/awesome-swift](https://github.com/Wolg/awesome-swift):一位俄罗斯朋友分类整理的 Swift 资源列表(有持续更新)。
* [Aufree/trip-to-iOS](https://github.com/Aufree/trip-to-iOS):显然作者很用心的做了非常深入的整理。它对于开发者拓展学习范围及开发知识面非常有益。
* [Robin Eggenkamp - Awesome Swift](https://swift.zeef.com/robin.eggenkamp):“一个收集了很多 Swift 开发资源的网站”。
* [iOS 开发技术前线](https://github.com/bboyfeiyu/iOS-tech-frontier):“一个定期翻译、发布国内外iOS优质的技术、开源库、软件架构设计、测试等文章的开源项目”。主要翻译来源 Ray Wenderlich,App Coda,Medium。来源:[@开发技术前线](http://weibo.com/u/5589212242)
* [11个超棒的 iOS 开发学习网站](http://www.cocoachina.com/ios/20150626/11348.html):还算比较主流的归纳。不过,缺了raywenderlich.com 和 ioscreator.com 这两个重量级教程网站实在是不应该啊。

<a id="tools"></a>开发工具

1. 编程工具

  • Xcode 6 beta下载:苹果应用集成开发环境。支持 C/C++, Objective C, Swift 等。不用购买开发者计划,直接下载。
  • Textmate:Mac OS X 上一个可高度自定义的编辑器,尤其在我想做出一个快速改变但又不想等待 Xcode 加载的时候。该工具目前已经开源
  • Mou:OS X 上一款 Markdown 的编辑器。非常适用于编写自述文件、变更日志以及其他方面的内容。作者:罗晨
  • Sublime Text ($):Mac OS X 上另一款非常受欢迎的轻量级,可高度自定义的编辑器。
  • RunSwift:正在犹豫是否入手苹果电脑开始一段 Swift 编程旅程的同学们,或仅仅为了试验一段简单 Swift 代码又懒得打开 Xcode,可以试试这款 Web 版 Swift 编译环境 RunSwift。
  • InfinitApps - Bezel:“嫌 Xcode 6 目前提供的 Watch 模拟器不够直观?Bezel 是一个用于视觉预览 WatchKit 所开发程序效果的小工具,前提是你安装了 xScope 软件(Mac端)或 xScopeMirror(iPhone端)。 By @WatchKit开发
  • Markdown -> Playground:该开源项目可将内含有 Swift 代码的 Markdown 自动转换为 Xcode Playgrounds 文件。喜欢用 Markdown 编辑的同学很激动吧。P.S. 这款工具写于 NodeJS,原因作者有交待。
  • iOS/Mac Autolayout Constraints:这个工具不错,很直观,布局时可以省不少工夫。推荐者:@荧星诉语
  • 在线生成 AppStore 审核用截图:便捷的生产力工具。免费,易操作,可自定义。

2. 代码管理

  • GitHub:声望日盛的资源分享之地。�
  • GitHub for Mac:一个设计的非常美观的 git 客户端,不能取代你从命令行获得的所有功能,但使用起来非常简单。
  • GitCafe:GitCafe is a source code hosting service based on version control system Git。国内的代码托管服务,基于 Git,值得一提的是最近也推出了和 GitHub Pages 类似的服务 Gitcafe Pages。因为是在国内,所以相比较 GitHub 有速度优势,在网络环境差的情况下也许可以作为 GitHub 的备用。
  • Bitbucket:国外的代码托管服务,不同于 GitHub 的是,Bitbucket 可以免费建立 private 项目。
  • Git:分布式版本控制系统和源码管理系统,其优点是:快和简单易用。对于新手来说,可在此查看免费电子书籍。

3. Xcode 插件

4. 管理工具

  • HomeBrew:OS X 上非常出色的包管理工具。
  • Transmit ($):一个Mac OS X 上 FTP 客户端,有着非常漂亮的用户界面和有用的功能。

5. 调试工具

6. 设计工具

  • sketch:更适合开发应用的矢量设计工具。通过插件还支持与代码协同工作。推荐书籍:Learn Sketch 3

7. 参考文章

  • iOS 开发工具:"这是我们多篇 iOS 开发工具系列篇中的一篇,此前的文章比如:那些不能错过的 Xcode 插件,iOS 开发者有价值的工具集,iOS/OS X 开发:各种工具快到碗里来!,App 原型设计工具使用心得(上)& App 原型设计工具使用心得(下),你用哪种工具进行 iOS app 自动化功能测试?iOS 开发者必知的 75 个工具" By @CocoaChina
  • IOS 各种调试技巧豪华套餐:讲得很细。对于初学 Xcode 开发的同学值得参考,对于有经验的同学可以略过。作者:@David戴未来
  • 详解Xcode 6的视图调试:教程非常实用,值得学习。另外,教程选用的开源项目(jessesquires/JSQMessagesViewController)也很经典。来源:Ray Wenderlich,译者:@CocoaChina 翻译组

媒体报道

开放平台

Apple Watch 指南

推荐阅读更多精彩内容