纪录我的iOS学习之路
学习资料的网址
田伟宇(Casa Taloyum)有几篇介绍iOS架构的文章,一级棒!原博客链接。
郭曜源的博客,感觉研究性质很浓,尤其对优化方面深入浅出,之前看源码的时候,也受惠于他的博客。
很喜欢这种类型的博客,包括上面田伟宇大神的。可以从文字间感受到对方的浑厚的技术实力。反观自己的博客,还有很长的路要走。
我的学习经历
从2015年8月初买了mac后开始学习iOS开发,直接上手项目(已经上线,AppStore搜索魔界-魔术)的。过段时间应该会上线。但是由于野路子出生,写完后,发现自己代码有以下几个问题。
- quick&dirty,代码很乱,有时候自己都不知道在哪。需要重新组织代码结构。
- 没有mvc架构意识,造成m,v,c强耦合,往往改一处要动很多地方。
- 命名不规范,想到什么就写什么。
- 还有很多,苦不堪言......
2015.09.30
第一步着手将viewdidload中的UI组件创建写到getter和setter中,viewdidload减少代码量。主要参考的iOS应用架构谈 view层的组织和调用方案,我觉得这篇好文要读烂为止。
2015.10.03
getter和setter太多,而且之前写的耦合太高,很难分离。我目前给自己定了一个执行度高的目标,先将mainstory面板清空。
2015.10.04
今天将Mainstory面板全部转为代码了,我个人比较喜欢代码构建界面,怎么说了,一方面是心理原因,我不喜欢别人帮我做太多事情。另一方面,代码写界面还是很棒的,简单的界面,其实用代码并不花很长时间,复杂界面的话,代码会让我思路更清晰。本人现在还是一个人开发,所以没体会到stroyboard造成的冲突之类问题。
下一步还是接着把能写到getter和setter的代码整理出来。
关于getter和setters的做法,唐巧大神的博客iOS 开发中的争议(一)并不提倡这样做。但是我更认同Casa Taloyum的观点——嗯,怎么说呢,其实两种做法都能完成需求。但是从另一个角度看,苹果之所以选择让[self getProperty]和self.property可以互相通用,这种做法已经很明显地表达了苹果的倾向:希望每个property都是通过getter方法来获得。
2015.10.08
这段时间一边在改getter&setter,一边在考虑项目目录的架构。
目录架构主要有两篇文章比较好,当然,还有很多好文章。
- iOS 项目的目录结构能看出你的开发经验 (我主要参考的是这篇文章,我使用了先按模块划分,再MVC)
2015.10.12
http://ruby.taobao.org/已经变成https协议了。呵呵,搞了我半天。
2015.11.30
之前花了很长时间跟随Casa Taloyum大神的博客,坚定实行去model化,使用了其中惊为天人的reformer机制。稍微有点感触,其实我觉得不管是reformer还是model,其实都是一个数据形式转化的过程,只是model化是直接将网络传来的json转化为本地所用的model,而reformer的话,直接将网络传来的json,不通过model化,直接用一个refomer类转化为所需的数据形式。有图可能更简单一点:

网络层部分参照了田大神的网络层设计,只是模仿了皮毛而已,但是已经感受到了强大,比如网络数据如何传给本地,使用的是delegate!!!
目前正在看小码哥(李明杰老师)的视频,还是很有收获,主要是学到了很多编程中的思路,比如封装,重构。
2016.01.27
很久没记录下学习的进程了。主要学业上的事情比较多,没有太多时间去学习iOS。这段时间比较值得说一下的进步就是阅读完了SDWebImage源码,并且正在阅读AFNetworking源码。当初阅读SDWebImage源码时候,很是痛苦,差点就放弃了。不过最后还是挺过来了,瞬间感觉功力大增。觉得看源码写博客的学习方式很适合自己。后面直接选择阅读AFNetworking源码,感觉比SDWebImage要难上许多,不过人不挑战自己,怎么会进步!?希望在年前能把阅读AFNetworking源码系列文章写完。
2016.02.03
AFNetworking源码系列终于结束了。感慨很多,从SDWebImage到AFNetworking,感觉自己的表达方式变得成熟,之前的一些博客,有时候连自己都不知道在说什么。现在感觉条理结构稍微清晰了一些。接下去还是分析一些源码。
2016.03.31
这一个月都没怎么学习iOS新知识,一半时间都在火车上跑来跑去。终于可以歇一会了。这段时间除了继续完善i博客园的app,准备开始写一系列造轮子的博客。希望可以深入学习iOS知识,而不是停留在只会堆砌代码的水平上。目前简单写了一个JSON转Model的代码,代码还有很多问题,不过总的来说学到很多。希望能跟源码阅读系列一样,可以坚持下去。挺享受iOS开发带来的成就感:)。
纪录我的iOS学习之路的更多相关文章
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- 浅谈iOS学习之路
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- IOS学习之路--OC的基础知识
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...
- 我的IOS学习之路(三):手势识别器
在iOS的学习中,对于手势的处理是极为重要的,如对于图片,我们经常需要进行旋转,缩放以及移动等.这里做一下总结,详见代码. - (void)viewDidLoad { [super viewDidLo ...
- 我的iOS学习之路(四):动画设置
在ios的开发过程中,经常需要对视图控件进行变化,如大小,颜色,旋转等,这是如果直接将变化结果呈现出来,就显得不够友好,所以我们通常会使用动画,让用户能够看到变化的过程. 使用动画通常有两种方式,一种 ...
- IOS学习之路二十(程序json转换数据的中文字符问题解决)
ios请求web中的json数据的时候经常出现乱码问题: 例如请求结果可能如下:"\U00e5\U00a5\U00bd\U00e8\U00ae\U00a4" 在网上查到的解决方法是 ...
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
最近做的也个项目,要做一个IOS的新闻展示view(有图有文字,不用UIwebview,因为数据是用webservice解析的到的json数据),自己一直没有头绪,可后来听一个学长说可以用listvi ...
- IOS学习之路九(配置restful webservice 框架restkit)
RestKit 是一个开源的 objective-c 框架,容许在 iOS 和 Mac OS X 的 Objective-C 中与 RESTful Web 办事进行交互,包含简单的 HTTP requ ...
随机推荐
- iOS可视化动态绘制连通图
上篇博客<iOS可视化动态绘制八种排序过程>可视化了一下一些排序的过程,本篇博客就来聊聊图的东西.在之前的博客中详细的讲过图的相关内容,比如<图的物理存储结构与深搜.广搜>.当 ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
写在前面 阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO.VO 的区别 POJO 的扩展 POCO VS DTO Controller 是什么? 关于 P ...
- clr 元数据
clr相关编译器编译生成的托管模块由四部分组成:PE32或32+头.clr头.元数据.IL代码. 元数据和IL代码完全对应,保持一致(:>)性. 元数据有很多用途: VS的智能感知,自动补全: ...
- .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...
- nodejs项目mysql使用sequelize支持存储emoji
nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...
- 独立开发 一个社交 APP 的架构分享 (已实现)
(本博客为原创:http://www.cnblogs.com/linguanh/) My BananaCloud Android Application 前言: 这算是我的第一个 完完全全 由自 ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- [笔记]HAproxy reload config file with uninterrupt session
HAProxy is a high performance load balancer. It is very light-weight, and free, making it a great op ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...