Swift 语言指南-Issue 40
本期特别推荐 1. 瞬间崩塌为小方块动画效果 StarWars.iOS;2. 功能强大的表单组件库 Eureka;3. 皮筋式弹性下拉即刷新组件及演示 DGElasticPullToRefresh
项目
Swift 项目精选:最近新收录 mattress, Reachability.swift, BluetoothKit, Spectre, PhoneNumberKit, SigmaSwiftStatistics, Neon, FlagKit,Blurable, TFBubbleItUp, SKPhotoBrowserser, DGElasticPullToRefresh, Eureka, CardAnimation, Instructions, LiquidLoader, Plum-O-Meter, Swift-Radio-Pro, SimpleMemo, StarWars.iOS, HackingWithSwift, ViewMonitor, SwiftMock, Watchdog, xcode-snippets 等 25 个,合计已收录 222 个。
- buzzfeed/mattress:离线缓存 Web 浏览内容。使用中,可以分别设置缓存内存及磁盘占用大小。功能非常给力。可惜地是,由于 WKWebView 自身对缓存的管理及限制,目前该库基于 WebView 开发。开发者可以按需选用。开发者:BuzzFeed
- schwa/DeckDick:打开网页时基于预先设置规则选择性拦截内容(含脚本),此功能参考学习了 Safari 广告拦截器。开发者:Jonathan Wight
- ashleymills/Reachability.swift:检测网络连通性实用工具库(Reachability 的 Swift 版本)。开发者:Ashley Mills
- kylef/Spectre:BDD 框架,写小清新代码。开发者:Kyle Fuller
- evgenyneu/SigmaSwiftStatistics:统计类计算函数集类库。简单、实用。开发者:Evgenii Neumerzhitckii
- mamaral/Neon:功能强大的 UI 布局神器。开发者:Mike Amaral
- FlexMonkey/Blurable:基于 Swift 协议扩展实现任意 UIView 的高斯模糊算法滤镜库。开发者:simon gladman
- TBXark/TKRubberIndicator:iOS 版弹力动画效果分页切换指示示例。开发者:@TBXark
- yoavlt/LiquidLoader:实现 dirbbble 上设计师 Christophe Kerebel 设计的细滑进程装载动画效果。开发者:Takuma Yoshida
- gontovnik/DGElasticPullToRefresh:皮筋式弹性下拉即刷新组件及演示。组合效果很赞。开发者:Danil Gontovnik
- seedante/CardAnimation:卡片式垂直翻转动画,实现动画效果来自 Dribbble 。实现思路(文章):卡片动画 Card Animation。开发者:@seedante
- seedante/SDECollectionViewAlbumTransition:照片簿展开和收缩动画效果组件及示例(使用说明很详细)。开发者:@seedante
- JohnCoates/Aerial:新版的 Apple TV 的 Aerial 屏保好帅,现在它可以移植到你的 Mac 了。开发者:John Coates
- ephread/Instructions:可定制嵌入式操作指引框架及演示。开发者:Frédéric Maquin
- suzuki-0000/SKPhotoBrowser:中规中矩、实用的图片浏览类库。示例也很完整。开发者:suzuki-0000
- hryk224/PCLBlurEffectAlert:细节定制较丰富的弹出警报窗口组件。开发者:hryk224
- xmartlabs/Eureka:功能强大的表单组件库,基于 Swift 2.0 重写的 XLForm。开发者:XMARTLABS
- marmelroy/PhoneNumberKit:解析、格式化及验证国际电话号码工具库(相当于 Google 的 libphonenumber 库的 Swift 版本)。开发者:Roy Marmelstein
- madebybowtie/FlagKit:漂亮、完整的国旗小图标工具集。开发者:Bowtie
- thefuntasty/TFBubbleItUp:配置性很强的分段文本标签输入组件。开发者:The Funtasty
- FlexMonkey/Plum-O-Meter:基于 3D Touch 做一台同时可称多个较轻圆形物体电子秤。开发者:simon gladman
- likumb/SimpleMemo:“易便签已经转到 Swift2.0,全面适配iOS9和Watch OS2,并支持 iPhone6s 和iPhone6sPlus的3D Touch功能,包括图标快捷键和内容预览”。开发者:@李俊likumb
- Yalantis/StarWars.iOS:瞬间崩塌为小方块动画效果演示。Yalantis 出品,值得学习。开发者:Yalantis
- EnderTan/PeekAndPopSimulator:“在老iPhone和模拟器上测试 3D Touch 的 Peek and Pop 功能”。开发者:@日光镇
- iAugux/iBBS-Swift:“新手开源一个用Swift(2.0)写的论坛客户端”。BBS 服务端。开发者:@iAugus
- Abizern/xcode-snippets:Mattt 同学 Xcode-Snippets/Objective-C 的 Swift 版本。开发者:Abizer Nasir
- rasmusth/BluetoothKit:基于 CoreBluetooth API 实现iOS/OS X 设备间蓝牙通讯封装类库。功能强大、传输稳定,示例完整,很酷。Rasmus Taulborg Hummelmose
- bignerdranch/CoreDataStack 和 THREDOpenSource/SYNQueue :存储栈和执行队列类库搭配使用,是否忆起往惜学生年代。
- johnlui/Pitaya:“支持 Basic Authorization、SSL 钢钉、HTTP raw body / JSON body、快速文件上传等特性,并通过内置 JSONNeverDie 实现了对 JSON 的完全支持,开箱即用”。开发者:@吕文翰_JohnLui
- swiftcodex/Swift-Radio-Pro:集成 LastFM 的专业电台应用(基于 Swift 2.0)。怎一个赞字可概括。开发者:Swift Code X
- daisuke0131/ViewMonitor:点击测量视图位置、大小、背景、字体大小等信息,应用开发调试神器。开发者:Daisuke Yamashita
- mflint/SwiftMock:一款 Mock 框架,单元测试的好伴侣。对于需要长期迭代开发的同学是不能少的。开发者:Matthew Flint
- wojteklukaszuk/Watchdog:简单、实用的 Watchdog,实时监视主线程运行或堵塞情况。开发者:Wojtek Lukaszuk
- twostraws/HackingWithSwift:hackingwithswift.com 示例项目代码库。hackingwithswift.com 是一个优秀、自成一体的 Swift 学习教程网站,非常适合初学者(即便你是零基础学习者)。开发者:twostraws
- mobileplayer/mobileplayer-ios:貌似很不错的高度可定制播放器项目。P.S. 只是预热,目前功能及文档都还没有完全。开发者:Mobile Player
- xxycode/XXYAudioEngine:“基于NSURLSession 和 AVAudoPlayer写了一个可以播放在线音乐的工具,可以把音乐保存在本地,也可以支持后台播放,后台下载”。开发者:@我是叉叉歪
文档
Swift 文章精选:最近新收录 详解 Swift 模式匹配,Swift 的类型体系,NSHipster - guard & defer,如何制作一个炫酷好玩的爆炸效果 等 4 份,合计已收录 115 份。
- Swift 的类型体系:概述了一些 Swift 的特点,可以从另一个角度来理解 Swift。译者:@画渣程序猿mmoaay
- 详解 Swift 模式匹配:学习强大的模式匹配。译者:mmoaay
- NSHipster - guard & defer:Swift 2.0 中 guard 和 defer 语句是极为讨好的新特性,尤其对于那些注重代码细节(甚至有一点代码洁癖)的开发同学。
- 消灭重复又无聊的代码之 UITableView 篇:“可视化编程 Tips 之“消灭重复又无聊的代码之 UITableView 篇”。来源:autolayout.club
- 自己动手使用 Swift 打造全功能 JSON 解析、生成库:“本篇文章中,我将跟大家一起,一步一步构造出一个好用的 JSON 解析和生成的库”。作者:@吕文翰_JohnLui
- Swift 中的 weak 和 unowned reference:“Swift 是使用 ARC 来自动管理内存,这对开发者提供了便利,但从OC时代引入ARC以来,就一直面临着一个问题:循环引用。使用不当造成的循环引用,会导致内存无法释放,为解决这个问题…”。作者:@国境向南
- 如何制作一个炫酷好玩的爆炸效果:无论文章还是代码,真心不错。源代码:xxycode/UIViewXXYBoom,作者:@我是叉叉歪
- 15分钟搞定 iOS9 Quick Actions :“在 iPhone 6s 或者 iPhone 6s Plus上,当用户按压app icon的时候,会弹出Quick Action,当用户选择其中的action的时候,app会启动并接收到相应的消息”。作者:@吴发伟_则平
- 关于设计原则的思考:“从“为什么”开始思考和交流,首先站在产品整体的层面将产品目标及其对应的最核心的设计原则思考清楚,那么所有表现层面的细节问题就都是不言自明的了。这些核心原则可以在局部当中支持一两个决策,也可以在全局层面支持成百上千个决策…”。译者:@C7210