@@ -169,7 +169,7 @@ <h1><center style="background: #666;color: whitesmoke;">Swift 语言指南</h1>
169
169
170
170
< blockquote > < p > 想了解关于该指南及 Swift 更多信息的同学,可以阅读短文《< a href ="https://github.com/ipader/SwiftGuide/blob/master/2014%20letter.md "> 致 Swift 开发者</ a > 》。 想快速找到优秀开源项目的开发者,可以访问我们额外整理的< a href ="https://github.com/ipader/SwiftGuide/blob/master/Featured.md "> 《Swift 开源项目精选》</ a > 。希望快速找到其中精选文章,可以访问< a href ="https://github.com/ipader/SwiftGuide/blob/master/Featured-Articles.md "> 《Swift 文章精选》</ a > 。</ p > </ blockquote >
171
171
172
- < p > < span style ="color:lightgray;font-size:12px "> < a href ="http://weibo.com/swiftlanguage "> @SwiftLanguage</ a > 更新于 2015-5-10 ,更新内容详见< a href ="https://github.com/ipader/SwiftGuide/blob/master/weekly/2015-05-10 .md "> 《2015-5-10 收录周报》</ a > </ span > </ p >
172
+ < p > < span style ="color:lightgray;font-size:12px "> < a href ="http://weibo.com/swiftlanguage "> @SwiftLanguage</ a > 更新于 2015-5-17 ,更新内容详见< a href ="https://github.com/ipader/SwiftGuide/blob/master/weekly/2015-05-17 .md "> 《2015-5-17 收录周报》</ a > </ span > </ p >
173
173
174
174
< h2 > 目录</ h2 >
175
175
@@ -770,6 +770,7 @@ <h3><a id="dev_skill"></a>4. 开发技巧</h3>
770
770
< li > Swift 开发经验小技巧:1. < a href ="http://imtx.me/archives/1916.html "> 如何正确地定义一个类变量(和类常量)</ a > ;2. < a href ="http://imtx.me/archives/1920.html "> 用 Optional 来避免异常指针问题</ a > ;3. < a href ="http://imtx.me/archives/1921.html "> 如何用 Swift 思维设计网络请求</ a > ;4. < a href ="http://imtx.me/archives/1924.html "> 正确地启用 Logging 机制</ a > 。作者:< a href ="http://weibo.com/tualatrix "> @图拉鼎</ a > </ li >
771
771
< li > < a href ="https://github.com/nixzhu/dev-blog/blob/master/2015-04-30-property-listener.md "> 用 Swift 实现轻量的属性监听系统</ a > :“本文的目的是(优雅的)解决“模型的一处修改,UI 要多处更新”的问题。为此,我们会使用一些新技术,在对比中看看它们能给我们带来什么好处”。作者:< a href ="http://weibo.com/nixzhu "> @nixzhu</ a > </ li >
772
772
< li > iOS 开发 UI 搭建心得:< a href ="http://lvwenhan.com/ios/452.html "> 1. 驾驭 Storyboard</ a > ,< a href ="http://lvwenhan.com/ios/453.html "> 2. 善用 xib</ a > 。作者:< a href ="http://weibo.com/balishengmuyuan "> @吕文翰_JohnLui</ a > </ li >
773
+ < li > < a href ="https://github.com/bboyfeiyu/iOS-tech-frontier/blob/master/issue-4/Swift%E6%89%A9%E5%B1%95%E7%9A%84%E4%B8%89%E4%B8%AA%E5%BE%AE%E5%A6%99%E7%BB%86%E8%8A%82.md "> Swift扩展的三个微妙细节</ a > :有关于 extension 细节的较完整说明。推荐不甚了解的开发同学阅读,避免稀里糊涂地使用。译文来源:< a href ="http://weibo.com/u/5589212242 "> @开发技术前线</ a > ,译者:samw00,原文:< a href ="http://www.andrewcbancroft.com/2015/04/22/3-nuances-of-swift-extensions/ "> 3 Nuances of Swift Extensions</ a > </ li >
773
774
</ ul >
774
775
775
776
@@ -854,6 +855,7 @@ <h3><a id="related_doc"></a>5. 相关文档</h3>
854
855
< li > < a href ="http://www.beforweb.com/node/701 "> 案例学习 - 为Soundwave设计Watch应用时学到的五件事</ a > :“Soundwave已经在iOS及Android平台上发展了将近两年。我(英文原文作者)最近有幸得到机会,能够为Apple Watch版本的Soundwave进行UI与交互设计,并在这个过程当中学到了一些很关键的东西...”。译者:< a href ="http://weibo.com/c7210 "> @C7210</ a > </ li >
855
856
< li > < a href ="http://beforweb.com/node/717 "> 案例学习 - 关于Watch应用的导航、通知、复杂任务及动效</ a > : “为Watch设计的过程很有意思,我们必须聚焦在核心体验上,打造最基本最简化的界面及交互,并设计合理的通知机制。对于复杂的功能要考虑通过Handoff完成。此外不要忘记在恰当的地方通过动效来提升交互体验...”。来源:< a href ="https://medium.com/design-for-wearables/designing-wallaby-for-apple-watch-dd5be371288a "> medium.com</ a > ,译者:< a href ="http://weibo.com/c7210 "> @C7210</ a > </ li >
856
857
< li > < a href ="http://www.leikeji.com/article?2307 "> 智能手表从业者于海东:十句话读懂 Apple Watch 应用设计(一</ a > 、< a href ="http://www.leikeji.com/article?2308 "> 二</ a > ):“Apple Watch 应用设计有何玄机?智能手表应用开发者应该注意什么?且看果壳电子软件副总裁于海东万字长文深度解析”。来源:< a href ="http://weibo.com/leitech "> @雷科技</ a > </ li >
858
+ < li > < a href ="http://mux.baidu.com/?p=8242 "> 2015-2016交互体验趋势</ a > :“2015年的移动应用数量增长依然强劲,但是移动交互体验的却在发生着变化。较之去年层出不穷的新颖形式,今年的交互体验趋势中,更多的是某一个方面的体验优化与深耕,而较少有创造性的引领者出现。这说明移动应用在市场在“爆发”后进入了一个新的阶段”。</ li >
857
859
</ ul >
858
860
859
861
@@ -952,6 +954,9 @@ <h3><a id="open_api"></a>1. 实用类库</h3>
952
954
< li > < a href ="https://github.com/macoscope/SwiftyStateMachine "> macoscope/SwiftyStateMachine</ a > :应用好状态机,不仅提高程序可维护性,更大大增强了程序健壮性。</ li >
953
955
< li > < a href ="https://github.com/benzguo/MusicKit "> benzguo/MusicKit</ a > :一套音乐编辑及创作框架。懂音乐、玩音乐的同学值得拥有。</ li >
954
956
< li > < a href ="https://github.com/ArtSabintsev/FontBlaster "> ArtSabintsev/FontBlaster</ a > :调用自定义字体封装类。很实用、很方便。</ li >
957
+ < li > < a href ="https://github.com/phimage/Prephirences "> phimage/Prephirences</ a > :这个库可以让开发者更方便管理、读写应用的配置信息。很实用。</ li >
958
+ < li > < a href ="https://github.com/radex/SwiftyTimer "> radex/SwiftyTimer</ a > :一个更友好、更简单的时间操作 NSTimer 扩展。P.S. 类似针对日期有 Punctual.swift 和 Timepiece。</ li >
959
+ < li > < a href ="https://github.com/liufan321/SwiftQRCode "> liufan321/SwiftQRCode</ a > :简单、实用的 QR Code 扫描识别及生成库。</ li >
955
960
</ ul >
956
961
</ li >
957
962
< li > < p > 图片</ p >
@@ -1000,6 +1005,7 @@ <h3><a id="open_api"></a>1. 实用类库</h3>
1000
1005
< li > < a href ="https://github.com/marcelofabri/BigBrother "> marcelofabri/BigBrother</ a > :网络请求活动状态监视器类。由于 Alamofire 库并无此项特性,因此它可以做为 Alamofire 的一个扩展功能。</ li >
1001
1006
< li > < a href ="https://github.com/ishkawa/APIKit "> ishkawa/APIKit</ a > :为不同来源或类型 Web 服务,提供安全地可定制化网络请求 API 的基础类库。很好的面向对象设计思路实例。</ li >
1002
1007
< li > < a href ="https://github.com/contentful-labs/Stargate "> contentful-labs/Stargate</ a > :通过 iPhone 桥接实现 Mac 与 Watch 的即时通讯。Stargate 通过封装两个优秀的基础类库 MMWormhole 和 PeerKit 实现高效的通讯应用。</ li >
1008
+ < li > < a href ="https://github.com/JustHTTP/Just "> JustHTTP/Just</ a > :小而美的 HTTP 类。功能简单、直接、完整且健壮性高。</ li >
1003
1009
</ ul >
1004
1010
</ li >
1005
1011
< li > < p > 社交网络</ p >
@@ -1031,6 +1037,7 @@ <h3><a id="open_api"></a>1. 实用类库</h3>
1031
1037
< li > < a href ="https://github.com/jessesquires/JSQNotificationObserverKit "> jessesquires/JSQNotificationObserverKit</ a > :一款轻量、易用的通知发送及响应框架类库。作者是知名开源项目 JSQMessagesViewController(Objective-C 版即时聊天)的作者 Jesse Squires ,也是一位知名博主,收录过其文章『An analysis of sorts between Objective-C and Swift』。</ li >
1032
1038
< li > < a href ="https://github.com/morizotter/TouchVisualizer "> morizotter/TouchVisualizer</ a > :实用的多点触摸可视化组件。扩展并作用于 UIWindows,结构上提供了简单地针对触摸显示定制,比如触摸点的颜色。这个组件对于需要做应用演示的同学尤其有用。</ li >
1033
1039
< li > < a href ="https://github.com/FutureKit/FutureKit "> FutureKit/FutureKit</ a > :“是一个 100% Swift 实现的 Future/Promises 库,由 Swift Generic 带来的类型安全、由 GCD 带来的线程安全,通过 FutureKit 可以在 iOS/OS X 下灵活玩转 Future/Promises 式编程了”。推荐者:< a href ="http://weibo.com/tualatrix "> @图拉鼎</ a > </ li >
1040
+ < li > < a href ="https://github.com/SwiftBond/Bond "> SwiftBond/Bond</ a > :使用简单、易于理解的对象绑定框架。比如:你可以使用代码 textField -> > label 将输入框文本映射到标签中的文字属性,当文本变化时,标签文字随动变化。 真的很方便。</ li >
1034
1041
</ ul >
1035
1042
</ li >
1036
1043
< li > < p > UI组件</ p >
@@ -1095,6 +1102,10 @@ <h3><a id="open_api"></a>1. 实用类库</h3>
1095
1102
< li > < a href ="https://github.com/zhxnlai/UIColor-ChineseTraditionalColors "> zhxnlai/UIColor-ChineseTraditionalColors</ a > :中国传统颜色引用 UIColor 扩展。“UIColor.桃红(),UIColor.竹青() ...”,如此引用是否感觉亲切多了。P.S. 好的项目,源于用心,技术次之。这位同学已经深谙其道了。</ li >
1096
1103
< li > < a href ="https://github.com/FlexMonkey/ShinpuruLayout "> FlexMonkey/ShinpuruLayout</ a > :通过水平和垂直分组模块实现简单、快速布局的组件库。作者提供了多种不同类型的布局示例。</ li >
1097
1104
< li > < a href ="https://github.com/ziligy/JGFlipMenu "> ziligy/JGFlipMenu</ a > :Flip 式菜单及其对应动画组件。使用也很简单直接 Interface Builder 。赞不赞自己看。</ li >
1105
+ < li > < a href ="https://github.com/Draveness/DKChainableAnimationKit "> Draveness/DKChainableAnimationKit</ a > :高可读、链式代码风格动画框架库。</ li >
1106
+ < li > < a href ="https://github.com/andreamazz/BubbleTransition "> andreamazz/BubbleTransition</ a > :以气泡膨胀和缩小的动画效果来显示切换界面。代码实现很简单,效果很突出。</ li >
1107
+ < li > < a href ="https://github.com/KittenYang/KYFloatingBubble "> KittenYang/KYFloatingBubble</ a > :实现iOS7 Game Center浮动气泡的一种思路。示例代码不多,效果还真得赞。</ li >
1108
+ < li > < a href ="https://github.com/i-schuetz/SwiftCharts "> i-schuetz/SwiftCharts</ a > :基于层架构设计思想的图表类库。基于层架构,无论定制新的图表类型还是已有图表的叠加,都变得非常的容易。</ li >
1098
1109
</ ul >
1099
1110
</ li >
1100
1111
< li > < p > 测试相关</ p >
@@ -1175,6 +1186,7 @@ <h3><a id="projects"></a>3. 完整项目</h3>
1175
1186
< li > < a href ="https://github.com/mortenjust/androidtool-mac "> mortenjust/androidtool-mac</ a > :“一款用 Swift 写的可在 Mac 上使用的 Android 工具, 支持一键截屏, 视频录制, APK 安装等功能”。</ li >
1176
1187
< li > < a href ="https://github.com/lexrus/JSCoreDemo "> lexrus/JSCoreDemo</ a > :“演示了一下怎样在 Swift 里用 JavaScriptCore 把原生功能桥接给 JS 用,代码少很容易理解”。简单、易懂的基础演示代码。P.S. 希望进阶学习的同学,这里有一个完整项目供参考 < a href ="https://github.com/cjwirth/RichEditorView "> RichEditorView</ a > :基于 HTML 5 的可定制富文本编辑器组件及示例。</ li >
1177
1188
< li > < a href ="https://github.com/gilesvangruisen/Swift-YouTube-Player "> gilesvangruisen/Swift-YouTube-Player</ a > :用不了的同学就当学习吧。或参考并试着写个 Swift-(...)-Player。</ li >
1189
+ < li > < a href ="https://github.com/Imperiopolis/WatchScreenshotMagic "> Imperiopolis/WatchScreenshotMagic</ a > :快速生成干净、漂亮的 Apple Watch 截图的实用工具应用。</ li >
1178
1190
</ ul >
1179
1191
1180
1192
@@ -1305,6 +1317,7 @@ <h3><a id="open_doc"></a>1. 文档</h3>
1305
1317
< li > < a href ="http://ignorethecode.net/blog/2014/11/04/web_apps/ "> Web Apps</ a > :这篇新鲜文章较全面论述了Native应用和Web应用。有关Native应用和Web应用,最近争论渐少,原因应该有两点:1. 无论Apple还是 Google,Native 应用才是其生态的基础,过于激进推动,将损害其固有商业利益。而微软的话语权严重受阻于移动系统的发展;2. 基于 Web View 的混合应用基本满足应用跨平台性 。</ li >
1306
1318
< li > < a href ="http://objccn.io/issue-14-4/ "> Back to Mac - XPC by objc.io</ a > :XPC 是 OS X 下的一种 IPC (进程间通信) 技术, 它实现了权限隔离, 使得 App Sandbox 更加完备。</ li >
1307
1319
< li > < a href ="http://www.uisdc.com/material-design-learning-experience "> MATERIAL DESIGN设计规范学习心得</ a > :“编者按:自学笔记就该这么做!今天分享< a href ="http://weibo.com/loafer117 "> @東門王三</ a > 同学关于 Material Design 的自学成果,他的学习笔记严谨有序,触类旁通,从 Material Design 到其他系统的设计规范都有所研究,还认真地做了思维导图,同学们可以边学习边借鉴他的自学方法,一举两得呦。By < a href ="http://weibo.com/uidesign "> @优秀网页设计</ a > ”</ li >
1320
+ < li > < a href ="http://fex.baidu.com/blog/2015/05/cross-mobile/ "> 聊聊移动端跨平台开发的各种技术</ a > :文章研究很全面、很透彻。赞同林老师建议。实在需要时,iOS/WKWebView 和 Android/WebView 可以做为跨平台衔接技术。“< a href ="http://weibo.com/limtc "> @林泰前</ a > :目前看到对跨平台开发最完整的文章,对这方面有兴趣的朋友建议一读。不过这是我的建议:好好学习 Swift/iOS 和 Java/Android,没有任何跨平台方案比得上真正原生的方案。”</ li >
1308
1321
</ ul >
1309
1322
1310
1323
@@ -1592,6 +1605,8 @@ <h3><a id="watch_courses"></a>3. Watch 教程</h3>
1592
1605
< li > < a href ="http://www.cocoachina.com/ios/20150323/11396.html "> WatchKit FAQ</ a > :“翻译自 Raywenderlich 的一篇译文,这篇WatchKit FAQ解答了一系列在社区、Twitter、邮件以及Stack Overflow上问的比较频繁的问题,包括基础问题,进阶问题、动画、调试和单元测试以及货币化的一些问题(译者:YueWang) By < a href ="http://weibo.com/cocoachina "> @CocoaChina</ a > ”。</ li >
1593
1606
< li > < a href ="http://www.beforweb.com/node/695 "> Apple Watch平台认知与产品设计</ a > :长文。引子部分略显拖沓, Watch 交互设计介绍及应用场景探讨部分值得一读。个人感觉,仅供参考。</ li >
1594
1607
< li > < a href ="https://realm.io/news/tutorial-sharing-data-between-watchkit-and-your-app/ "> 在 WatchKit 应用里使用 Realm 的教程</ a > :是一份很完整的教程。文章附了< a href ="https://github.com/FancyPixel/done-swift "> 完整示例代码</ a > 。 P.S. Realm 是志向代替 Core Data 和 SQLite 的移动数据库,它的特点是轻量、低耦、面向对象。</ li >
1608
+ < li > < a href ="http://designforwearables.com/vip/ "> Design for Wearables</ a > :很系统化的 Apple Watch 设计课程, 建议开发的同学好好学习一下。</ li >
1609
+ < li > < a href ="http://weibo.com/p/1001603842436727235421 "> WatchKit 控制器的生命周期</ a > :“本文介绍的生命周期同样适用于 Hierarchical interfaces, Glances, 以及 Notification interfaces”。译者:< a href ="http://weibo.com/twios "> http://weibo.com/twios</ a > </ li >
1595
1610
</ ul >
1596
1611
</ li >
1597
1612
</ ul >
@@ -1606,6 +1621,7 @@ <h3><a id="watch_projects"></a>4. Watch 项目</h3>
1606
1621
< li > < a href ="http://watchaware.com/watch-apps "> WatchApps</ a > :“可交互的演示网站, 和 Apple Watch 应用开发者合作, 利用 Javascript 和动态 PNG, 以及来自视频, 真机屏幕截图等素材, 让大家预览 Apple Watch 上热门应用的使用体验, 包括应用界面, Glance 一瞥界面, 通知界面。” By < a href ="http://weibo.com/macx "> @苹果网</ a > </ li >
1607
1622
< li > < a href ="http://www.beforweb.com/node/689 "> Apple Watch 的 5 个产品思路畅想</ a > :“接下来的几年会很有意思,数字产品的体验模式正朝着多平台的方向迅速进化着,每一类设备都在开疆破土。我(英文原文作者)整理了五个类型的产品思路,或是说畅想,在 Apple Watch 即将正式上市的前夕,与大家做以分享和探讨...”</ li >
1608
1623
< li > < a href ="https://github.com/kiavashfaisali/KFWatchKitAnimations "> kiavashfaisali/KFWatchKitAnimations</ a > :为 Watch 提供 60 帧动画显示效果解决方案及示例。</ li >
1624
+ < li > < a href ="https://github.com/mobitar/Starburst "> mobitar/Starburst</ a > :几款可用于 Apple Watch 应用的 PNG 序列动画。</ li >
1609
1625
</ ul >
1610
1626
1611
1627
0 commit comments