Swift 学习指引
以下指引是基于最新的 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
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的移动数据库
网络类
- Alamofire:著名的AFNetworking网络基础库Swift语言版
- starscream:WebSocket客户端类库
- Reachability.swift 网络监听库
图片类
- ImageScout:最小网络代价获得图片大小及类型
- DominantColor:提取图片主色示例项目
- Toucan:小而美的图片变换及处理类
- gifu:高性能GIF显示类库
- HanekeSwift:轻量带缓存高性能图片加载组件
- Kingfisher ------ 图片加载库 Swift版的SD
界面类
- animated-tab-bar:灵动的动画标签栏类库,storyboard中使用
- SwiftForms:表单递交库,快速开发利器
- BWWalkthrough:界面切换中加入灵动的动画效果
- PNChart-Swift:带动画效果的图表控件库
- SweetAlert-iOS:带动画效果弹窗封装类
- AnimatedTabBar:灵动的动画标签栏类库
- KYCircularProgress:简单、实用路径可定进程条
- FloatLabelFields:Float Label Pattern浮动标签输入效果类
- MapManager:地图及路径管理封装库
框架类
- AsyncDisplayKit:提供界面的高流畅性切换及更灵敏的响应
- Cartography:基于代码级的自动布局封装框架, 同 Mansory
- MMWormhole:iOS扩展与宿主应用的通讯框架
- NetworkObjects:轻量版HttpServer框架,跨平台解决方案
“车子”示例项目
- LTMorphingLabel:特赞的文字飘入飘出效果
- AEXML:简单又易于的XML解析类及示例
- whereami:通过命令行获得当前设备地理位置
- Design-Patterns:如何使用常用设计模式及示例
- HamburgerButton-Menu/Close:无论设计还是代码,都进行了精雕细琢
- HamburgerButton-Menu/Back:对应博文可知,开发者动画开发经验相当丰富
完整应用
- edhita:支持Markdown, HTML预览的文本编辑器
- firefox-ios:来自Mozilla开发团队大型纯Swift项目
- SwiftWeather:清新淡雅持续改进天气预报项目
- VPNOn:驻在通知中心内的VPN开关应用
- IGListKit [UICollectionView 框架] -> pod 'IGListKit', '~> 2.0.0
- Realm [移动端数据库] -> pod 'RealmSwift’
- Moya [抽象网络层] -> pod 'Moya', ‘8.0.0’
- SwiftyJSON [JSON 解析] -> pod 'SwiftyJSON’
- Valet [钥匙串帮手] -> pod 'Valet’
- Firebase Analytics [分析] -> pod 'Firebase/Core’
- AsyncDisplayKit [异步 UI SDK] -> pod 'AsyncDisplayKit’
- DZNEmptyDataSet [空状态模式] -> pod 'DZNEmptyDataSet’
- Chameleon [扁平化颜色框架] -> pod 'ChameleonFramework/Swift', :git => 'ViccAlexander/Chameleon'
- PermissionScope [iOS 权限框架] -> pod 'PermissionScope’
- FileKit [文件管理] -> pod 'FileKit', '~> 4.0.0’
- SwiftyUserDefaults [user defaults 帮手] -> pod 'SwiftyUserDefaults’
- Kingfisher [下载图片] -> pod 'Kingfisher', '~> 3.0’
- Hero [自定义试图控制器过渡动画] -> pod 'Hero’
- Hedwig [发送 email]
- DeviceKit [设备信息] -> pod 'DeviceKit', '~> 1.0’
- Charts [图表] -> pod 'Charts’
- MGSwipeTableCell [可以滑动的 table cells] -> pod 'MGSwipeTableCell’
- RandomKit [随机生成数字] -> pod 'RandomKit', '~> 3.0.0’
- ResponseDetective [调适网络请求] -> pod 'ResponseDetective’
- Onboard [用户指导页] -> pod 'Onboard’
- Quick + Nimble [BDD 测试] -> pod 'Quick’
pod 'Nimble’ - Natalie [从 storyboard 生成代码]
- RxSwift [reactive 编程] -> pod 'RxSwift', '~> 3.0’
- GDPerformanceView [实时 FPS and CPU 用量] -> pod 'GDPerformanceView-Swift', '~> 1.1.0’
- Alamofire [网络] -> pod 'Alamofire', '~> 4.3’
- SwiftyStoreKit [app 内购] -> pod 'SwiftyStoreKit’
- Timepiece [date 帮手] -> pod 'Timepiece’
- CryptoSwift [加密] -> pod 'CryptoSwift’
- FSCalendar [日历] -> pod 'FSCalendar’
- ImageViewer [模仿 Twitter 的图片查看器] -> pod 'ImageViewer’
- PromiseKit [promises] -> pod 'PromiseKit', '~> 4.0’
- Ensembles [Core Data 同步] -> pod 'Ensembles’
- Reachability.swift 网络监听 Swift 4.0 ->
pod 'ReachabilitySwift', :branch => 'develop'
在你看完这些之后, 恭喜你, 你的 Swift 水平已经同你的 Objective-C 水平有一拼了. 请点赞,谢谢.
Swift 学习指引的更多相关文章
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- 今天开始Swift学习
今天开始Swift学习 在此记录笔记 以备之后查阅! allenhuang
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- 12套swift学习资源分享
虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- [转]swift 学习资源 大集合
今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...
- swift 学习资源 大集合
今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...
- Swift学习笔记(一)搭配环境以及代码运行成功
原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...
- swift学习:第一个swift程序
原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目
随机推荐
- 2018.09.25 poj3070 Fibonacci(矩阵快速幂)
传送门 矩阵快速幂板题,写一道来练练手. 这一次在poj做题总算没忘了改万能库. 代码: #include<iostream> #include<cstdio> #define ...
- 2018.07.17 洛谷P1368 工艺(最小表示法)
传送门 好的一道最小表示法的裸板,感觉跑起来贼快(写博客时评测速度洛谷第二),这里简单讲讲最小表示法的实现. 首先我们将数组复制一遍接到原数组队尾,然后维护左右指针分别表示两个即将进行比较的字符串的头 ...
- 【Unity】1.1 安装Unity 5.3.4 开发环境
分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity分个人版(Personal)和专业版(Pro).个人版是免费的(部分高级功能受限,但初学者也用不到它),Pro ...
- Web Service测试工具小汇
1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都 ...
- IDEA SpringBoot Deprecated configuration property ‘server.servlet-path’
错误样式如图所示.说我这个版本中的这个标签是过时的. 解决: 出现这个问题后,这个标签被IDEA化成了黄线,同时,想使用server.servlet-path=*.html,配置servlet路径跳转 ...
- 20155218 2016-2017-2 《Java程序设计》第8周学习总结
20155218 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可以 ...
- Hdu2102 A计划 2017-01-18 14:40 60人阅读 评论(0) 收藏
A计划 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- [LeetCode 总结帖]: 链表专题
链表在笔试面试中都是出镜率极高的一种数据结构. 由于链表具有结构简单,代码量较少,变化多,可以较为全面的考察应聘者的逻辑思考能力以及应变能力的特点,而备受面试官青睐. 在本节中,我将Leetcode中 ...
- python——回文函数(reversed)
回文数:正向排列与反向排列所得结果是相等的(即从左到右和从右到左的结果是相等的),例如:“123321”,“0000”等. reversed函数:反转一个序列对象,将其元素从后向前颠倒构建成一个新的迭 ...
- javascript 对象克隆
浅克隆 先看代码: /** * 浅克隆 克隆传入对象,只克隆一层 * @param {any} source */ function shallowClone(source) { var tiaget ...