目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器、数据库、Android、web、ios开发等。一超多强”是指开发者先成为一门技术的专家然后掌握了解多门技术,这是一种好的发展趋势,另外,这种技多不压身我认为当开发者更适合发展成为Leader管理岗位,随着年龄慢慢变大,成家立业后,基层单一码农已晋升之路受到阻碍了,作为项目经理或总监的时候,需要你能够“多才多艺”,才能管理好带领好你的团队。这一篇将掀起 IOS 开发之路,点关注不迷路。 (iOS资料大全)
可跳过介绍,直接上手敲代码: IOS 新手入门实现第一个HelloWorld项目
什么是iOS
iOS是苹果公司为它的移动设备(iPhone、iPad、iWatch等)开发的移动操作系统。
iOS发展史
2007年苹果发布iPhone Runs OS X
2008年更名iPhone OS
2010年更名iOS
2012年WWCD 2012上发布iOS 6
2013年WWCD 2013上发布iOS 7
2014年WWCD 2014上发布iOS 8和Swift
2015年WWCD 2015上发布iOS 9和Watch OS
IOS开发语言
ios目前流行两种开发语言:Objective-C 和 Swift 。前者有C语言基础者上手会容易些;后者Swift是iOS/Mac未来开发的主要语言,无论从编程思想还是从api书写,都赏心悦目,但缺点是没有Objective更稳定,且事实上去面试一些公司都要求的是用 Objective-C,只是把 Swift 作为学习语言。
苹果设备屏幕尺寸
设备 屏幕尺寸 分辨率 坐标点
iPhone 3和3s 3.5英寸 320480 320480
iPhone 4和4s(支持Retina) 3.5英寸 640960 320480
iPhone 5和5s(支持Retina) 4英寸 6401136 320568
iPhone 6 4.7英寸 7501334 375667
iPhone 6 Plus 5.5英寸 10801920 414736
iPad 1和2(不支持Retina) 9.7 7681024 7681024
iPad 3和4(支持Retina) 9.7 15362048 7681024
iPad Air 9.7 15362048 7681024
iPad Mini(不支持Retina) 7.9 7681024 7681024
iPad Mini2(支持Retina) 7.9 15362048 7681024
系统基础框架
1、ios系统架构可以分为如图所示的四层,Cocoa Touch框架的地位不言而喻。
Core OS和Core Service提供了底层支持,包括文件访问、网络协议、低级数据类型等。
Media提供了基本绘图和音视频的支持,包括OpenGL、Quartz、Core Audio和Core Animation等。
Cocoa Touch包括了开发使用的大部分API,主要由Foundation(文件访问、网络操作、数据和容器类型)和UIKit(UI控件、控制器等)两个部分构成。在进行App开发时,应该由上到下使用这些技术层次,越上层的API封装得越好,开发越方便,但能自己发挥的东西越少。
2、对比,android系统架构:
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。
也分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
UIKit继承结构
实现App开发中的用户界面首先要从UIResponder及其子类开始研究,当然整个过程会覆盖整个UIKit框架,比如UIColor(颜色)、UIEvent(事件)、UIFont(字体)、UIGestureRecognizer(手势识别)、UIImage(图像)、UIScreen(屏幕)等诸多内容。
UIView和UIWindow
1、UIWindow和UIView的继承关系
UIWindow是UIView的子类。UIView定义了一个矩形区域以及操作这个矩形区域中内容的编程接口,除此之外UIView还要处理运行时区域中内容的交互行为(绘图、动画和事件处理)。从上面的图中我们也可以看出,我们要使用的控件都是UIView的子类型。视图会按层次结构排列,位于视图层次结构顶端的就是应用窗体。任何应用都有且仅有一个UIWindow对象,UIWindow对象就像一个容器,负责包含应用中的所有视图。应用需要在启动时创建并设置UIWindow对象,然后为其添加其他的视图,就像上面的代码呈现的那样。加入窗口的视图会成为该窗口的子视图。子视图也可以有自己的子视图从而构成一个以UIWindow作为根的视图层次结构(树形结构)。
2、UIView的基本属性和方法
frame属性:设置视图的坐标和尺寸
backgroundColor属性:设置视图的背景色
window属性:视图所在的窗口对象
-addSubview方法:添加子视图
Xcode创建iOS项目
启动Xcode在欢迎页中选择"Create a new Xcode project"。在项目创建向导中选择iOS->Application->Single View Application然后点击下一步。接下来需要设置项目名称、组织名称、组织标识、开发语言(OC或Swift)和设备(iPhone、iPad或Universal)。下一步之后选择项目的位置就可以点击"Create"完成项目创建了。参考我的下一个博文:IOS新手入门第一个HelloWorld项目
熟悉开发工具Xcode
IDE布局说明:
Xcode的上方是工具栏,有很多工具按钮。Xcode的左侧是导航区域,包括:项目导航、符号导航、查询导航、问题导航、测试导航、调试导航、断点导航、报告导航,可以使用Command+1-8的数字键在8种导航之间切换。Xcode的中间是编辑器区域;中间的下面是调试区域。Xcode的右侧上方是检查器(审查)区域;右侧下方是各种库的区域。
Xcode常用功能和快捷键 (*实用)
Command+[ -> 代码块左移
Comamnd+] -> 代码块右移
Tab -> 接受代码自动完成提示
Esc -> 显示代码提示
Command+B -> 编译
Command+R -> 运行
Control+F -> 前移光标
Control+B -> 后移光标
Control+P -> 光标移到上一行
Control+N -> 光标移到下一行
Control+A -> 光标移到行首
Control+E -> 光标移到行尾
Control+T -> 交换光标左右字符
Control+D -> 删除光标右边的字符
Control+K -> 删除本行
Control+L -> 将光标所在位置置于窗口中央
按住Option双击鼠标 -> 搜索文档
Command+Y -> 激活/禁用断电
Command+Control+Y -> 继续运行
F6 -> 单步跳过
F7 -> 单步跳入
F8 -> 跳出
AppDelegate与ViewController的作用与区别:
AppDelegate是你整个应用的一个代理。当你应用启动的时候,最先被调用到的就是你AppDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法。你可以在这个方法中做些全局初始化。
一般设计准则是尽量保持AppDelegate干净、简洁。
AppDelegate中可以做应用退出后台或从后台返回到前台的一些处理。
ViewController一般作为根视图控制器,把显示相关的都放到这里面去做。
虚拟机HOME键:
由于Xcode自带的虚拟机不像真机那样有一个可以用手指按的Home键回到主界面的实体按钮,所以需要用到快捷键:
command + shift + h (回到主界面)
command + shift + hh (可滑动清理应用)