1. ios 开发怎么入门

一、
准备工作
1. Mac、iOS设备、开发者账号
这些是做iOS开发必须要有的,而且是一大笔钱,但不要怕花钱,因为这些都是值得的。如果能够学有所成,一两个月的工资基本就回本了。就当是自己交的一笔“培训费”吧。

2. 心态上的准备

果你是零基础转行iOS,那么一定要有破釜沉舟的勇气和决心,并做好打持久战的心理准备。如果畏手畏脚、瞻前顾后,我劝你还是想好了再来,免得浪
费时间和金钱。我当初收入很低,是拿了3个月的工资买的Macbook,还天天担心丢了或者弄坏;后来学习到小有所成时毅然选择了裸辞,孤身一人来到陌生
的上海,经过2个月的待业状态才找到工作。这一路走来都承受着巨大的精神压力和物质压力。

二、
学习路线
1. 对编程的基本认识
如果你是完全的零基础,我建议先要对编程有个基本的认识。建议从C语言入手,因为C语言比较简洁易上手,并且和Objective-C很相似。

视频推荐网易云课堂的

“计算机专业体系”课程,很适合入门。
书籍的话,推荐《C
Primer Plus》。

2. Objective-C语言学习
当对C语言有个大致的了解后,就可以开始学习Objective-C了。

推荐书籍:
《Objective-C基础教程》
《Objective-C程序设计》
注:这两本内容都差不多,但《Objective-C基础教程》写的更好、更经典,建议以这本为重点精读。但是这本写的比较笼统,难度稍高,所以如果遇到不懂的地方就看看《Objective-C程序设计》,这一本写的简单、详细一些。

需要掌握并熟练运用的地方:
1) 面向对象编程的基础知识。包括:面向对象与面向过程的区别、为什么要面向对象编程,类、对象、继承、方法、属性、接口等概念的理解与使用。
2) Foundation框架。主要是NSString类、NSArray类、NSDictionary类、NSNumber类、NSRange类的熟练运用。
3) 内存管理MRC、ARC的原理,委托delegate、协议protocol、类别category、块block的理解与使用。

3. iOS SDK/Cocoa Touch学习
有了Objective-C基础,就可以开始边看斯坦福公开课边做APP了(个人觉得没有OC基础直接看这个会很吃力)。视频如下:
斯坦福大学公开课CS193P《iOS7应用开发》(Objective-C语言)
斯坦福大学公开课CS193P《iOS8开发 》(Swift语言)

推荐书籍:《精通iOS开发》

第一个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开发充满热情,敢于接受挑战,那么就从现在开始努力吧,我在前方的路上等你!

2. ios入门书籍有哪些可以推荐

1. 《iOS编程》(第4版)
iOS编程(第4版) (豆瓣)
《iOS编程》荣获Jolt生产力大奖。第4版更新了iOS7和Xcode5的内容。全书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instruments等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺. 只是略贵.
2.《iOS编程实战》
iOS编程实战 (豆瓣)

本书深入介绍iOS 7新特性和新功能,涵盖iOS 7大部分新增特性,包括新的后台操作、Core Bluetooth、UIKit动力学以及TextKit。另外还介绍了如何处理新的扁平化UI,并新增了一章你可能不知道的“小技巧”。如果读者熟练掌握C和C++,读完本书即可创建性能优异的iPhone、iPad和iPod touch应用。进阶读,不适合初学者.
3.《Objective-C高级编程 iOS与OS X多线程和内存管理》
Objective-C高级编程 (豆瓣)

本书在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的ARC 以及应用于多线程开发的Blocks 和GCD。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。本书适合有一定基础的iOS 开发者阅读。书不厚,只有180多页.
4.《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》
Effective Objective C 2.0 (豆瓣)

《effective objective-c 2.0:编写高质量ios与os x代码的52个有效方法》是世界级c++开发大师scott meyers亲自担当顾问编辑的“effective software development series”系列丛书中的新作,amazon全五星评价。从语法、接口与api设计、内存管理、框架等7大方面总结和探讨了objective-c编程中52个鲜为人知和容易被忽视的特性与陷阱。书中包含大量实用范例代码,为编写易于理解、便于维护、易于扩展和高效的objective-c应用提供了解决方案。
5.《iOS 7 Programming Cookbook》
iOS 7 Programming Cookbook (豆瓣)

此书很厚,一千多页,很实用的工具书,可以放在桌头当字典用.

3. 零基础如何学习ios开发

开发这个东西的话,其实入行门槛虽说不高,但是其实也不算特别低的,不然为什么程序员那么多,但是工资在普遍看来还是比较高的,是不是?先猜测如果已经是毕业工作了的话,即使是比较轻松的工作,业余时间也是比较有限的,仅仅凭借兴趣,能支撑楼主维持多长时间段里的持续时间投入,毕竟如果这周3小时,下周3小时之类的,我不认为能够达到3+3=6,很有可能3+3 <3。而且这还要看题主想要达到一种什么程度,玩票性质?还是到足以取得一份以此为工作能养活自己的程度?程序员是一个比较苦逼的职业哦~好了,泼冷水泼了这么多,如果上面的这些问题,题主都想的差不多了,或者有相对的觉悟的话,那么我觉得才可以考虑实施的一些策略和细节。