一、写在前面
大概是15年十一月底十二月初开始用周末时间开始学的,十二月中旬有大概一周时间集中学习,一月初开始做第一个可用的应用,到现在(2016年2月27日),上架了8个应用,虽然都不太复杂,但每个基本都实现了自己的想法。还有1个在等待审核,以及2个因为不符合规则被拒无法上架,以及1个只能在公司内用的app,还有2个做了一半因为各种限制发现没法完成的应用。
二、开始
一直想学习下iOS开发,之前尝试过两三次,要么是看了苹果官方教程,没看下去,要么是看斯坦福的iOS教程看了两三集视频没看下去,都半途而废了….
这次赶上婚假快过期之前休婚假,有一个比较长的时间可以学习,又重新找了学习教程,参考了知乎上的如下帖子:《iOS 开发怎么入门?》中得分最高的回答。
https://www.zhihu.com/question/20264108
于是先看了《The iOS Apprentice》的中文版,地址是https://github.com/eseedo/kidscoding
这个教程是在用storyboard教学,虽然看的半懂不懂加上中间有些地方因为xcode的版本升级导致有些地方教程和实际不一样,但基本困难都客服了,居然真正的看完了教学。
从实际体验特别是有过两三次没有学习下去的体验来看,这种简单能让你做出一些简单东西的教程,用来入门还是有用的,至少让你有信心学下去。
而且确实也有点书读百遍其义自现的感觉,至少看了这个能对iOS开发有一点最最基础的认识。
当然,这个系列教程中没有AutoLayout部分,所以学完了整个教程,排版上也很奇怪,直到看第二本书才知道该怎么排版。
三、第二本书
虽然第一本教程说看完后就可以尝试做点东西了,但我发现第一本教程真的主要是让自己对iOS有一个初步认知,还是没法做程序的,比如刚才提到的排版都无法适应多种屏幕尺寸。
又经过一番查找,找到了第二本书《iOS编程(第4版)》,豆瓣地址是:http://book.douban.com/subject/26287812/ ,有kindle版、多看版等电子书。
这本书基本上是在休婚假期间加一个还是两个周末看完的。这本书对我来说,很适合作为在上一本书基础之上的第二本书。现在有同时在看斯坦福视频教程,看到第8课,不过斯坦福的教程是基于storyboard,而storyboard就我自己目前的理解来说,大型项目用的还是不多的,开发效率也一般,所以现在看此视频是作为让自己增加对iOS了解的目的看的。
有一点背景是,我写过四年左右代码,不过是unix c,所以纯object-c的语法我没有专门去看。
《iOS编程(第4版)》这本书讲的比较全面,当然也因为出版时间的缘故,学习中也会碰到xcode版本变化和iOS版本变化带来的一些和教程不一致的地方,需要自己克服。
四、已写应用中一些有用到的内容
迄今为止,因为我做的应用都比较简单,所以每个应用基本花的时间在1-2天,最长的可能能到3-4天,周末和假期还是花了不少时间的,写起来一坐就是好久,对身体不太好…
在每个应用中都会遇到一些问题和障碍,每一个应用都会让我学到一些东西,按照做app中的大概顺序列一些,包括但不限于:
– 持久化(到现在还没学会sqllite持久化….)
– 异步加载(第一个通讯录应用如果不异步加载,打开就要一二十秒才能显示出来,只好做成异步加载)
– 通过protocol和delegate来进行通讯
– UITableView按姓名首字母分类显示
– 调用邮件、剪贴板、电话
– spotlight搜索支持
– 今日视图
– 指纹识别
– 有道云笔记openapi的简单使用
– 通过pod来使用开源第三方源码辅助快速构建应用
– 在iOS上处理psd的方法
– 将应用注册为可打开某种类型文件并出现在文件的打开方式中
– 保存到相册和使用图像
– 自己构建服务器和生成jason格式返回内容的接口
– webview的基础使用方法
– UIDatePicker使用
– 定时器执行任务的方法
– 不调出取景界面的拍照功能
– 读取系统相册照片
– URL Scheme的基础使用
– xib和storyboard(storyboard只会最基础的使用,做app对storyboard的使用对我仅限于tableview中设置静态列表)
– 多语言支持
– IAP
– …
五、以后
iOS开发的水挺深的,想学好就需要花更多的时间,而时间总是有限的,所以应该还是会做一个兴趣保留下来。
有时间做一些自己感兴趣的东西。
这是一个有c语言但没有面向对象开发经验的iOS初学者的入门经历。
(完)