以下指引是基于最新的 Swift 4.0 为基础为而言. 如你在参考3.0以下版本, 那你就不要说你会 Swift, 3.0 之前是 Objective-C 的搬迁(80%),是不成熟的语言, 看着很别扭的语言;  3.0 之后完全脱去 Objective-C 的搬迁阴影..., 是一门全新的语言.

但不得不说在 Objective-C 的基础之上学习 Swift 会更快入手.

学习Swift,从这里开始!

http://special.csdncms.csdn.net/the-swift-programming-language-in-chinese/index.shtml

《The Swift Programming Language》 官方 API

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309

Swift 初级语法

https://i.cnblogs.com/posts?categoryid=1007680

Swift 高级

https://i.cnblogs.com/posts?categoryid=984671

Swift 2.0到3.0 的迁移变化常见错误链接:

http://www.cnblogs.com/gongyuhonglou/p/6108240.html

http://www.jianshu.com/p/27fd2a2b32e4

http://www.jianshu.com/p/af5d2b28b9e4

http://blog.csdn.net/ios_qing/article/details/52812187

http://www.jianshu.com/p/6dddf360493b

✨✨✨

推荐敏捷大拇指(Swift 3.0最新的迁移变动):

http://www.swifthumb.com/thread-14893-1-1.html

http://www.swifthumb.com/forum-72-1.html

github swift-evolution 参考链接:

https://github.com/apple/swift-evolution/tree/master/proposals

常用第三方大全:

“轮子”工具类

  • SwiftyJSON:GitHub上最为开发者认可的JSON解析类
  • Dollar.swift:Swift版Lo-Dash(或underscore)函数式工具库
  • OAuthSwift:国外主流网站OAuth授权类库
  • PathKit:小而美的路径管理类
  • XCGLogger:功能完整的日志管理类库
  • Surge:基于苹果Accelerate高性能计算框架封装库
  • Async:简洁的后台执行代码封装库
  • Euler:直观、简洁的数学表达式∛27÷3+∑[3,1,2]
  • LocationManager:地理位置管理封装库
  • Siren:当应用更新时,通知用户并提供App Store链接
  • BrightFutures:漫长或复杂计算由独立线程异步来完成

存储类

  • SQLite.swift:简单、轻量,使用上最SQL的SQLite封装库
  • Realm:志向代替Core Data和SQLite的移动数据库

网络类

图片类

  • ImageScout:最小网络代价获得图片大小及类型
  • DominantColor:提取图片主色示例项目
  • Toucan:小而美的图片变换及处理类
  • gifu:高性能GIF显示类库
  • HanekeSwift:轻量带缓存高性能图片加载组件
  • Kingfisher ------ 图片加载库 Swift版的SD

界面类

框架类

  • AsyncDisplayKit:提供界面的高流畅性切换及更灵敏的响应
  • Cartography:基于代码级的自动布局封装框架, 同 Mansory
  • MMWormhole:iOS扩展与宿主应用的通讯框架
  • NetworkObjects:轻量版HttpServer框架,跨平台解决方案

“车子”示例项目

完整应用

      • edhita:支持Markdown, HTML预览的文本编辑器
      • firefox-ios:来自Mozilla开发团队大型纯Swift项目
      • SwiftWeather:清新淡雅持续改进天气预报项目
      • VPNOn:驻在通知中心内的VPN开关应用
常用第三方库列表且支持 cocoaPods,供快速查询:

  1. IGListKit [UICollectionView 框架] -> pod 'IGListKit', '~> 2.0.0
  2. Realm [移动端数据库] -> pod 'RealmSwift’
  3. Moya [抽象网络层] -> pod 'Moya', ‘8.0.0’
  4. SwiftyJSON [JSON 解析] -> pod 'SwiftyJSON’
  5. Valet [钥匙串帮手] -> pod 'Valet’
  6. Firebase Analytics [分析] -> pod 'Firebase/Core’
  7. AsyncDisplayKit [异步 UI SDK] -> pod 'AsyncDisplayKit’
  8. DZNEmptyDataSet [空状态模式] -> pod 'DZNEmptyDataSet’
  9. Chameleon [扁平化颜色框架] -> pod 'ChameleonFramework/Swift', :git => 'ViccAlexander/Chameleon'
  10. PermissionScope [iOS 权限框架] -> pod 'PermissionScope’
  11. FileKit [文件管理] -> pod 'FileKit', '~> 4.0.0’
  12. SwiftyUserDefaults [user defaults 帮手] -> pod 'SwiftyUserDefaults’
  13. Kingfisher [下载图片] -> pod 'Kingfisher', '~> 3.0’
  14. Hero [自定义试图控制器过渡动画] -> pod 'Hero’
  15. Hedwig [发送 email]
  16. DeviceKit [设备信息] -> pod 'DeviceKit', '~> 1.0’
  17. Charts [图表] -> pod 'Charts’
  18. MGSwipeTableCell [可以滑动的 table cells] -> pod 'MGSwipeTableCell’
  19. RandomKit [随机生成数字] -> pod 'RandomKit', '~> 3.0.0’
  20. ResponseDetective [调适网络请求] -> pod 'ResponseDetective’
  21. Onboard [用户指导页] -> pod 'Onboard’
  22. Quick + Nimble [BDD 测试] -> pod 'Quick’
    pod 'Nimble’
  23. Natalie [从 storyboard 生成代码]
  24. RxSwift [reactive 编程] -> pod 'RxSwift', '~> 3.0’
  25. GDPerformanceView [实时 FPS and CPU 用量] -> pod 'GDPerformanceView-Swift', '~> 1.1.0’
  26. Alamofire [网络] -> pod 'Alamofire', '~> 4.3’
  27. SwiftyStoreKit [app 内购] -> pod 'SwiftyStoreKit’
  28. Timepiece [date 帮手] -> pod 'Timepiece’
  29. CryptoSwift [加密] -> pod 'CryptoSwift’
  30. FSCalendar [日历] -> pod 'FSCalendar’
  31. ImageViewer [模仿 Twitter 的图片查看器] -> pod 'ImageViewer’
  32. PromiseKit [promises] -> pod 'PromiseKit', '~> 4.0’
  33. Ensembles [Core Data 同步] -> pod 'Ensembles’
  34. Reachability.swift 网络监听  Swift 4.0 -> 
    pod 'ReachabilitySwift', :branch => 'develop'

在你看完这些之后, 恭喜你, 你的 Swift 水平已经同你的 Objective-C 水平有一拼了. 请点赞,谢谢.

Swift 学习指引的更多相关文章

  1. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  2. 今天开始Swift学习

    今天开始Swift学习  在此记录笔记  以备之后查阅! allenhuang

  3. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  4. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  5. Swift学习之常用UI的使用

    Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...

  6. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  7. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...

  8. Swift学习笔记(一)搭配环境以及代码运行成功

    原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...

  9. swift学习:第一个swift程序

    原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

随机推荐

  1. 【Unity】1.3 Unity3D游戏开发学习路线

    分类:Unity.C#.VS2015 创建日期:2016-03-23 一.基本思路 第1步--了解编辑器 首先了解unity3d的菜单,视图界面.这些是最基本的基础,可以像学word操作一样,大致能明 ...

  2. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  3. 1) Spring_HelloWorld

    1. Spring Tool Suite™ 方式一:下载对应eclipse版本的文件,离线安装 4.4.2 springsource-tool-suite-3.6.4.RELEASE-e4.4.2-u ...

  4. hibernate的一级缓存问题

    1.证明一级缓存的问题 输出结果: 只发出一条查询语句  第二条查询语句没有执行 因为第一条查询语句缓存的存在 2. 移除缓存: 输出结果: 3.一级缓存的快照 就是对一级缓存的数据备份 保证数据库的 ...

  5. (匹配)Antenna Placement --POJ --3020

    链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82834#probl ...

  6. Scala包和引用

    1.包 Scala包的命名方式有两种.一种和Java一样,通过把package子句放在文件顶端的方式,把整个文件的内容放进包里.如: package scala.actors.Actor 另一种方式可 ...

  7. 【最大流之Dinic算法】POJ1273 【 & 当前弧优化 & 】

    总评一句:Dinic算法的基本思想比较好理解,就是它的当前弧优化的思想,网上的资料也不多,所以对于当前弧的优化,我还是费了很大的功夫的,现在也一知半解,索性就写一篇博客,来发现自己哪里的算法思想还没理 ...

  8. Spring cache 缓存

    概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使 ...

  9. java web 项目启动的根目录,以及项目启动后使用的端口具体是哪一个

    1.今天启动项目发现一直找不到网页,原来是自己浏览器地址的根目录出现了问题,那么系统中的根目录(也就是项目名)到底是哪个,究竟以哪个为基准? 这里有一地方不能忽视:见图片 在普通的java web项目 ...

  10. ios开发 ad hoc怎么用

    简单的说就是这样 ad hoc 方式是苹果用来给未上线的app做测试用的,首先你要在苹果开发平台上申请一个ad hoc的证书,再在profile中生成一个ad hoc 的profile文件(只需要在生 ...