关闭

IOS 初级开发入门教程(一)介绍篇

标签: ios开发苹果开发入门介绍Helloworld
633人阅读 评论(0) 收藏 举报
分类:

导读

       目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器、数据库、Android、web、ios开发等。“一超多强”是指开发者先成为一门技术的专家然后掌握了解多门技术,这是一种好的发展趋势,另外,这种技多不压身我认为当开发者更适合发展成为Leader管理岗位,随着年龄慢慢变大,成家立业后,基层单一码农已晋升之路受到阻碍了,作为项目经理或总监的时候,需要你能够“多才多艺”,才能管理好带领好你的团队。这一篇将掀起 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英寸 320*480 320*480
iPhone 4和4s(支持Retina) 3.5英寸 640*960 320*480
iPhone 5和5s(支持Retina) 4英寸 640*1136 320*568
iPhone 6 4.7英寸 750*1334 375*667
iPhone 6 Plus 5.5英寸 1080*1920 414*736
iPad 1和2(不支持Retina) 9.7 768*1024 768*1024
iPad 3和4(支持Retina) 9.7 1536*2048 768*1024
iPad Air 9.7 1536*2048 768*1024
iPad Mini(不支持Retina) 7.9 768*1024 768*1024
iPad Mini2(支持Retina) 7.9 1536*2048 768*1024

系统基础框架

 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  (可滑动清理应用)

本章部分参考他人博客:http://blog.csdn.net/jackfrued/article/details/46747903

1
0
查看评论

IOS 初级开发入门教程(二)第一个HelloWorld工程及StoryBoard使用

前言 在IOS开发之路的博文第一章:(IOS开发入门介绍http://blog.csdn.net/csdn_aiyang)我大致系统介绍了有关IOS的一些基础认识,如果不完全都记住没关系,以后我们开发之路还很长,慢慢的自然而然就明白是怎么回事了。这一篇我将手把手教大家完成第一个IOS项目——”He...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-08-23 15:17
  • 782

iOS开发入门教程

摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识。 程序发轻狂,代码阑珊,苹果开发安卓狂!——写给狂热的编程爱好者们 写在前面的话 学习iOS应用程序开发已有一段时间,最近稍微闲下来了,正好也想记录一下前阶段的整个学习过程。索性就从...
  • u011537073
  • u011537073
  • 2016-07-22 21:52
  • 26278

iOS开发入门教程之第一个APP

经过本系列前面几篇文章的学习,相信读者已经可以使用Objective-C语言写一些简单地程序了。Objective-C的语言基础也已经基本讲完了,通过大量的代码练习和阅读相关书籍,相信很快就能掌握iOS开发的相关技能。
  • taonull
  • taonull
  • 2015-03-26 23:49
  • 7316

11、iOS开发详解(基础知识)

iOS开发详解本章节针对如何开发基于iOS系统的插件进行介绍
  • zzh_receive
  • zzh_receive
  • 2016-11-17 21:08
  • 2193

AR初入门

最近,想做一个AR的项目,在网上翻阅了会博客,感觉讲的都挺深的,还有一些很专业的名词等造成了AR技术理解困难的问题,所以借此博客讲讲我对AR技术的理解。 借鉴博客地址:http://www.mamicode.com/info-detail-1524759.html AR 增强现实技术,它是一...
  • zhaiax672
  • zhaiax672
  • 2017-03-31 21:19
  • 520

(转):内存器件介绍之RAM篇(一)

        提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按照内存的工作原理划分,可将内存分为RAM和ROM两大类。    RAM(Random Access Memory)存储...
  • yangcuncunzhang
  • yangcuncunzhang
  • 2011-01-10 20:44
  • 960

LoadRunner基础入门教程

方法/步骤     1:LoadRunner是一款性能测试软件,通过模拟真实的用户行为,通过负载、并发和性能实时监控以及完成后的测试报告,分析系统可能存在的瓶颈,LoadRunner最为有效的手段之一应该就是并发的控制。通过在控制台的设置,以达到同一个业务同时模拟成千上万的用户进...
  • Brave_insist
  • Brave_insist
  • 2017-05-12 17:02
  • 2433

mui初级入门教程

分享一个学习链接 https://segmentfault.com/a/1190000005173713?_ea=841544
  • fanhu6816
  • fanhu6816
  • 2016-11-07 12:46
  • 225

IOS 开发-UI初级 (一)

今天开始学习IOS 初级UI,把学习过程记录于此。创建一个全新的工程: File -> new ->Project ->IOS -> Application -> single View Application 工程的目录结构如下: 其中: AppDeleg...
  • l947818238
  • l947818238
  • 2016-04-06 20:28
  • 219

halcon相关的链接

论坛、培训 halcon学习网:http://www.ihalcon.com/ 鸟叔机器视觉:http://bbs.szvbt.com/forum.php 博客 韩兆新的博客园 majunfu Life and Coding zhaojun的博客 風韻無聲 骑蚂蚁上高速的博客 小马_xiaoLV2 ...
  • xiamentingtao
  • xiamentingtao
  • 2016-09-19 10:54
  • 1142
    个人资料
    • 访问:85113次
    • 积分:2120
    • 等级:
    • 排名:千里之外
    • 原创:109篇
    • 转载:11篇
    • 译文:0篇
    • 评论:33条
    博客专栏
    文章分类
    通往Android的阶梯
      分享Android流行技术、深度学习讨论 欢迎加入QQ群569614530