ios学习

红牛王 发布于 2017/05/26 22:42
阅读 57
收藏 0

说到 iOS 开发,自己学得也很浅。不过至少独立一人完成了一个应用的开发到 App Store 上线整个过程。既然有人让我说些推荐和建议,就分享一下。

首先建议阅读 Start Developing iOS Apps Today,你可以对 iOS 开发有个总体的认识。该文章也有官方的中文版。

编程语言 :

Programming with Objective-C: About Objective-C 这是 Apple 撰写的一份关于 Objective-C 2.0 的一份文档,这也算是学习 iOS/Mac 开发必读的一份文档,记得我当初看的时候是叫做 The Objective-C Programming Language。
Learn Objective-C 这也是广受推荐的一份文档,短小精练,适合入门。

Programming in Objective-C 2.0 原书已经出到第四版了,建议阅读原版,中文版是根据第二版翻译的。此书比较适合入门,它甚至涵盖了 C 语言一些知识。而不像《Objective-C基础教程》直接就进入 Objective-C 及面向对象的一些思想。

iOS 开发:

iOS Developer Library,官方的文档库,也是最靠谱的资料了,在 Xcode 中也可以下载后直接查阅。

Beginning iOS 6 Development: Exploring the iOS SDK 这个书算是用得比较多的一本了,当初我也是看着这本边学边做。且作者也比较勤快,基本跟随 iOS 更新的步伐,每年修订。当时我看的是 iOS 5 的版本,也建议任何学习资料要看要 iOS 5 以后版本的,因为其引入了 ARC,在内存管理方面和以前的方式有很大的不同。

iOS Programming: The Big Nerd Ranch Guide ,比起上面那本这本涉及的面会稍微广些,建议辅助用。

第一个iOS应用:
苹果官方有个做iOS应用的教程——《马上着手开发iOS应用程序(Start
Developing iOS Apps Today)》。强烈建议以这个Demo作为你的第一个iOS应用,因为这个教程能让你对一个iOS应用的搭建有个非常全面、细致的认识。完成了这个Demo后,就可以结合斯坦福公开课学到的东西创建属于你自己的APP了。
需要掌握的地方:
1) MVC设计模式。只有理解了iOS的MVC架构,才能把一个应用解剖成一个个单独的部分,这样你在开始做一个项目的时候才不会茫无头绪。
2)UIKit的各种控件。特别是UITableView和UICollectionView一定要掌握,因为大部分的iOS应用都是由这两种视图搭建,吃透了它们那可玩的花样就很多了,其乐无穷。
3) 导航控制器UINavigationController和选项卡控制器UITabBarController。同上,这两个控制器也是绝大多数iOS应用UI框架的根基,也是多个MVC协同工作的最典型例子。
4) 场景切换的实现——Segue。熟练使用Segue很重要,因为一个应用一般都是各个界面轮流出现的,两个界面之间怎样实现跳转、怎样将一个界面的数据传递到下个界面,这都是实际开发中会遇到的问题。
5) Storyboard和AutoLayout的使用。这两者是一个应用的UI界面设计不可或缺的部分。
6) 其它iOS高级编程。包括:数据存取CoreData/SQLite、多线程GCD、绘图CoreGraphics、动画CoreAnimation、网络编程、手势Gesture、多媒体AVFoundation等等,这些内容都可以实际用到时再深入学习。
7) 第三方库的使用。参考:GitHub 上都有哪些值得关注学习的 iOS 开源项目? - 编程
4. 坚持写代码、查文档、读技术博客
学习编程,一定要勤于动手,看再多的书、再多的视频,如果不动手敲代码都是白搭。哪怕书上和视频上的代码你一行都看不懂,也要亲手把代码敲一遍、把Demo亲自实现一遍,这很重要。编程是手敲会的,不是眼睛看会的。
学习iOS开发的过程中,有遇到不懂是正常的,别害怕不懂,Cocoa的内容细节本来就多,每年的WWDC还会发布一些新技术。所以遇到不懂的知识一定要学会查苹果官方API文档:iOS Dev Center
做APP时,如果一个地方不会实现,或者遇到解决不了的问题,一定要学会使用Google搜索。一般来说,初学iOS遇到的问题,Stack Overflow上都有类似的提问,基本一搜一个准。
此外,CSDN等一些技术博客上的文章也很有参考价值。推荐一些优秀的iOS技术博客——中文 iOS/Mac 开发博客列表:tangqiaoboy/iOSBlogCN · GitHub
三、写在最后的话

果你能按照以上所述做出一个APP上架并找到工作,那也基本算是入门了。但这并不是终点,这只是一个新的起点。iOS开发,乃至整个计算机/互联网行业,
后面的路还很漫长。苹果的整个Cocoa框架,可谓是博大精深,里面可以深挖的东西太多了;而且一个程序、一段代码可以进行的优化是没有止境的。作为开发
者,只会一门语言是不够的,网络编程、数据库、算法、设计、交互等等东西都是需要掌握的,而语言只是实现这些的工具,语言其实是最简单的。
此外,如果你和我一样是非科班出身,还需要把计算机基础课程补回来,即:数据结构、算法、操作系统、数据库、计算机网络、编译原理等。因为这些知识是你的“内功”,这些基础直接决定了你在这个领域的天花板所在的位置。

然,基础差一点也问题不大,最重要的是你对计算机、互联网的热爱和热情。你需要有很强的自学能力,不断地去学习新知识,才不会被这个日新月异的行业淘汰;
你需要保持一颗好奇心,不断地尝试和接受新事物,不断地创新,守旧的人在这个行业无法生存。在我找工作的过程中,那些知名的大公司都是直接在简历关就将我
刷掉了,而那些给我Offer的公司,无一例外都表示,之所以选择我是因为欣赏的我的热情、看重我的自学能力。
所以,如果你和我一样对iOS开发充满热情,敢于接受挑战,那么就从现在开始努力吧,我在前方的路上等你!学好ios你需要一个好的群,群里大家一起讨论学习,群号626433463欢迎你的加入,一起努力加油

加载中
返回顶部
顶部