漫漫swift路

写在前面

做了大半年iOS开发,在此对我的iOS历程做个小总结.

这半年写了三个正式的项目,把第一个项目大概浏览一遍后,直接被自己蠢哭,不管是那一坨坨的界面代码,还是那些缠成一团的各种逻辑代码,现在看来都是垃圾~,无法直视. 第二个项目初期我花了大量的时间在项目架构上,对网络库的封装,对HUD库的封装,后来的开发效率就快的多了,性能也比第一个项目稳定的多.磨刀不误砍柴工是很有道理的.

关于UI

开始搞iOS时界面我用纯代码写,到后来使用XIB.中途想过使用SB(storyboard),但发现当页面量很多时,用SB的工作量比纯代码还多,而且后期修改更麻烦,后来开始使用XIB写后简直是遇到救命稻草,只能用爽来形容了.
纯代码写界面的问题在于啰嗦,一个界面往往有十多个控件且不包括TableV,ScrollV这些主要控件.一个控件就写十多二十几行代码,那是十分蛋疼的.比如写个UILabel,在frame,color,title,font…这些基本属性就得写个一堆,然后圆角,约束 这些属性又要一大堆~~~.实在是烦. 用XIB的话,约束直接在XIB里面实现,修改起来也十分的简易快速. 不过xib的蛋疼之处是无法获取view的frame,某些时候十分的不方便.所以,某些情况还是用代码约束比较好,比如某个界面动画比较多的时候,而且也有强大第三方约束库SnapKit可以很简洁的添加代码约束.

关于cocoaPod

用好cocoaPod,在github上找到的各种轮子用cocoapod直接装到项目里,简单粗暴.基本用法就几条简单的命令.使用了cocoaPods来管理第三方库后,我几乎就离不开它了.
说道第三方库,像Alamofire,SwiftyJSON,MBProgress..这些库功能和性能都比较完善了,就是每一次用的时候要写一大坨代码….在这些库的基础上在进行一次封装的话,能提升开发效率. 下面是我写的alamofire封装方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
typealias fetch = (json:JSON) -> Void
typealias fetcherror = () -> Void
/**
- Router: request请求 URLRequestConvertible
- view: 当前所在的view, 用来在失败时MBProgress显示提示
- fetchResult: 返回的json
- fetcherror: 请求失败时执行的闭包
*/
internal class func fetchJSON(router: Router,view: UIView?, fetchResult: fetch, fetchErrorClosure fetchError: fetcherror?)
{
Alamofire.request(router).responseJSON { response in
if response.result.isSuccess
{
print("---> CDFETCH REQUEST OF \(router) ---> ")
print(response.request)
print("---> CDFETCH RESPONSE OF \(router) ---> ")
print(response.response)
let json = JSON(response.result.value!)
print("---> CDFETCH JSON OF \(router) ---> ")
print(json)

fetchResult(json: json)
}
else
{
fetchError!()
print("请求失败")
print("\(response.result.error)")
}
}
}

打印的东西有点多,一般把json打印出来就好了.

关于Xcode插件

Xcode插件首先要认识的当然是插件管理工具Alcatraz。
Alcatraz是一个开源的Xcode包管理器,可以让你更便捷地发现、安装以及管理插件、模板和配色方案.只需要简单地点击或者勾选,不需要手工复制和粘贴,
简单的说他是个Xcode插件,但是他能管理其他的插件.先安装好Alcatraz插件,安装其他的插件都是一键搞定,十分方便.
Alcatraz项目地址: https://github.com/mneorr/Alcatraz

Activate Power Mode
这是一个酷炫到极致的插件,当你的编辑器随着代码舞动起来,感觉每写一行代码感觉都能上天,简直是装逼中的战斗机.

VVDocumenter-Xcode
这是快速编写注释文档的插件,只需要按“///”就会出现整齐漂亮的文档. 而且这个是iOS界的喵神写的工具,必须给个start.

最后

iOS开发的道路还很长,什么时候能像ibireme大神那样写出YYText这样的库,才算真正的iOS developer.
以后还是得多看源码,多看关于底层的知识,不断学习进步,走向猿生巅峰.

学习之路,与君共勉!

Stay Hungry , Stay Foolish .