@@ -167,9 +167,9 @@ <h1><center style="background: #666;color: whitesmoke;">Swift 语言指南</h1>
167
167
168
168
< p > GitHub:< a href ="https://github.com/ipader/SwiftGuide "> ipader/SwiftGuide</ a > | 网站:< a href ="http://dev.swiftguide.cn "> http://dev.swiftguide.cn</ a > | < em > 欢迎开发者一起< a href ="https://github.com/ipader/SwiftGuide/pulls "> 维护</ a > ,或< a href ="https://github.com/ipader/SwiftGuide/issues/new "> 反馈/投稿</ a > </ em > </ p >
169
169
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 > 。</ p > </ blockquote >
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-4-19 ,更新内容详见< a href ="https://github.com/ipader/SwiftGuide/blob/master/weekly/2015-04-19 .md "> 《2015-4-19 收录周报》</ a > </ span > </ p >
172
+ < p > < span style ="color:lightgray;font-size:12px "> < a href ="http://weibo.com/swiftlanguage "> @SwiftLanguage</ a > 更新于 2015-4-26 ,更新内容详见< a href ="https://github.com/ipader/SwiftGuide/blob/master/weekly/2015-04-26 .md "> 《2015-4-26 收录周报》</ a > </ span > </ p >
173
173
174
174
< h2 > 目录</ h2 >
175
175
@@ -759,6 +759,9 @@ <h3><a id="dev_skill"></a>4. 开发技巧</h3>
759
759
< li > < a href ="http://segmentfault.com/blog/callmewhy/1190000002479108 "> Swift90Days - iOS 中的设计模式(Swift 版本)1/2</ a > :文章基于开发应用潜在使用到的设计模式进行论述,与实战结合可以让学习者印象深刻。当然,还可以结合另一个更直接介绍设计模式开源项目 < a href ="https://github.com/ochococo/Design-Patterns-In-Swift "> Design-Patterns-In-Swift</ a > 进行学习。纠正:严格的说,作者将 MVC 归到设计模式内并不合适,它是更上层的框架结构。原文:< a href ="http://www.raywenderlich.com/86477/introducing-ios-design-patterns-in-swift-part-1 "> Introducing iOS Design Patterns in Swift – Part 1/2 </ a > ,译者:< a href ="http://weibo.com/small1030light "> @请叫我汪二</ a > </ li >
760
760
< li > < a href ="http://natashatherobot.com/mutating-functions-swift-structs/ "> Mutating Functions in Swift Structs</ a > :Mutating Functions(变异方法)在结构中应用的简明教程。当然,如何需要进一步了解Swift 语言中「方法」的特性,可以直接参考『< a href ="http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter2/11_Methods.html "> Swift 语言编程 - 方法</ a > 』章节介绍</ li >
761
761
< li > < a href ="https://github.com/nixzhu/dev-blog/blob/master/2015-04-08-adaptive-chart.md "> 生成自适应图表图片的秘密</ a > :局促的空间( Watch)内如何优雅地显示完整柱状图?作者不仅有效地解决了问题,同时,其思考过程在文章中也一览无余。好文章(非程序员勿入)。示例项目 < a href ="https://github.com/nixzhu/AdaptiveChartDemo "> AdaptiveChartDemo</ a > </ li >
762
+ < li > < a href ="http://blog.callmewhy.com/2015/04/20/error-handling-in-swift/ "> 面向轨道编程 - Swift 中的异常处理</ a > :学习笔记。轨道方案巧妙又富有成效。作者:< a href ="http://weibo.com/small1030light "> @请叫我汪二</ a > </ li >
763
+ < li > < a href ="https://github.com/nixzhu/dev-blog/blob/master/2015-04-23-state-machine.md "> 使用状态机的好处</ a > :“你写过最复杂的控件是什么样?它根据用户的操作,是否会有不同的“状态”?了解一点状态机,就易于理清逻辑,能写出可维护性较好的代码”。P.S. 好文。状态机让代码可读性更高了。同时通过对状态的有效管理,加强了应用的健壮性。作者:< a href ="http://weibo.com/nixzhu "> @nixzhu</ a > </ li >
764
+ < 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 >
762
765
</ ul >
763
766
764
767
@@ -834,6 +837,10 @@ <h3><a id="related_doc"></a>5. 相关文档</h3>
834
837
< li > < a href ="http://www.jianshu.com/p/c5b0eb58b878 "> 一些国外知名app用到的 iOS 第三方框架</ a > :针对 Paper 第三方库的补充非常赞。当然,这其中 < a href ="http://weibo.com/rpplusplus "> @糖炒小虾_txx</ a > 的< a href ="http://blog.txx.im/blog/2014/02/11/facebook-paper-used-3rd/ "> 『Facebook Paper使用的第三方库』</ a > 是点睛之笔。</ li >
835
838
< li > < a href ="http://www.beforweb.com/node/697 "> 念叨 - 关于Sketch、Origami、Swift及Apple Watch</ a > :念叨得不错,文章标题或许取『与 Sketch 相关的那点事』更好。</ li >
836
839
< li > < a href ="https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md "> 『Objective-C GitHub 排名前 100 项目简介』</ a > </ li >
840
+ < li > < a href ="http://realm.io/news/watchkit-mistakes/ "> “My Biggest WatchKit Mistake”</ a > :看看国外知名开发者在使用 WatchKit 开发应用时犯过哪些最大的错误。前人的错误及教训就是我们宝贵的经验积累。</ li >
841
+ < li > < a href ="http://www.andrewcbancroft.com/2015/04/22/3-nuances-of-swift-extensions/ "> Swift extension 的三项细节</ a > :相对于其它主流面向对象编程语言,Swift extension 访问控制与之有着细微的不同之处。比如同一个.swift 文件中不同类/结构间是可以访问 private 属性值的。而 Java, C# 等不同类间显然不能访问其 private 属性。</ li >
842
+ < li > < a href ="http://wiki.jikexueyuan.com/project/react-native/ "> Facebook React Native 中文教程</ a > :“Facebook 在 < a href ="http://conf.reactjs.com/ "> React.js Conf 2015 大会</ a > 上推出了基于 JavaScript 的开源框架 < a href ="http://facebook.github.io/react-native/ "> React Native</ a > ,本中文教程翻译自 < a href ="http://facebook.github.io/react-native/docs/getting-started.html "> React Native 官方文档</ a > ”。译者:< a href ="http://weibo.com/jikexueyuan "> @极客学院_jikexueyuan</ a > </ li >
843
+ < li > < a href ="http://www.isaced.com/post-268.html "> EGOCache 源码解析</ a > :很专业的解读。话说如此精简、广得人心的 Objective-C 类库,哪位同学抽空把它转为 Swift 吧。</ li >
837
844
</ ul >
838
845
839
846
@@ -1061,6 +1068,7 @@ <h3><a id="open_api"></a>1. 实用类库</h3>
1061
1068
< li > < a href ="https://github.com/SemperIdem/MKMapView-Extension "> SemperIdem/MKMapView-Extension</ a > :“在用 MapKit 的时候发现MKMapView缺少了极其重要的 ZoomLevel 这一个功能,因此便参照了网上的一些OC例程写了一个Swift版本的扩展,允许开发者获取当前地图的缩放级别和设置缩放级别。By < a href ="http://weibo.com/moonisky "> @星夜暮晨</ a > ”。</ li >
1062
1069
< li > < a href ="https://github.com/didierbrun/DBPathRecognizer "> didierbrun/DBPathRecognizer</ a > :基于路径模型的手势识别工具(仅一个核心类)。妙处在于作者通过示例项目设置好 A-Z 字母的路径模型后,可以进行相应的手写识别。尽管它可能无法替代专业的手写识别输入,不过对于普通的手势识别还是搓搓有余了。</ li >
1063
1070
< li > < a href ="https://github.com/Yalantis/GuillotineMenu "> Yalantis/GuillotineMenu</ a > :正如其项目名字一样,这是一款极具创意及突破精神的动画演示项目。P.S. 这家公司(Yalantis)做动画,尤其界面特效出神入化。且 iOS / Android 通吃。</ li >
1071
+ < li > < a href ="https://github.com/aryaxt/ScrollPager "> aryaxt/ScrollPager</ a > :一款小巧、易用的页滚界面组件。结合 storyboard 及滚动视图,轻易实现拖拽页滚功能。</ li >
1064
1072
</ ul >
1065
1073
</ li >
1066
1074
< li > < p > 测试相关</ p >
@@ -1238,6 +1246,8 @@ <h3>6. 参考文章</h3>
1238
1246
1239
1247
< ul >
1240
1248
< li > < a href ="http://www.cocoachina.com/newbie/basic/2014/0417/8187.html "> iOS 开发工具</ a > :"这是我们多篇 iOS 开发工具系列篇中的一篇,此前的文章比如:那些不能错过的 Xcode 插件,iOS 开发者有价值的工具集,iOS/OS X 开发:各种工具快到碗里来!,App 原型设计工具使用心得(上)& App 原型设计工具使用心得(下),你用哪种工具进行 iOS app 自动化功能测试?iOS 开发者必知的 75 个工具" By @CocoaChina</ li >
1249
+ < li > < a href ="http://www.cnblogs.com/daiweilai/p/4421340.html "> IOS 各种调试技巧豪华套餐</ a > :讲得很细。对于初学 Xcode 开发的同学值得参考,对于有经验的同学可以略过。作者:< a href ="http://weibo.com/daiweilai "> @David戴未来</ a > </ li >
1250
+ < li > < a href ="http://www.cocoachina.com/ios/20150423/11658.html "> 详解Xcode 6的视图调试</ a > :教程非常实用,值得学习。另外,教程选用的开源项目(< a href ="https://github.com/jessesquires/JSQMessagesViewController "> jessesquires/JSQMessagesViewController</ a > )也很经典。来源:Ray Wenderlich,译者:< a href ="http://weibo.com/cocoachina "> @CocoaChina</ a > 翻译组</ li >
1241
1251
</ ul >
1242
1252
1243
1253
0 commit comments