Lesson1 -- IOS开发概述 && HelloWorld

第一部分:IOS开发概述

1. IOS 系统架构

iOS是基于UNIX的,就系统的稳定性而言,要比其他操作系统好很多,我们完全可以相信这个操作系统!

  iOS的系统架构分为四个层次:

    1)可触摸层

    2)媒体服务层

    3)核心服务层

    4)核心操作系统层

  如下图:

    

2. iOS系统架构中各层次的功能

  可触摸层(Cocoa Touch):为应用程序开发提供各种有用的框架,并且大部分均与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。

  媒体服务层(Media Services):负责提供用于构建应用程序的图形和声音的API,可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形绘制,以及制作基础的动画效果。

  核心服务层(Core Services):这一层提供了访问Core OS层的硬件功能并包含了Foundation框架。正因为如此,这一层提供了构建iOS应用程序所需的大量基础元件,例如字符串、数组以及其他通用数据类型。核心服务层可以访问iOS的一些服务,比如网络连接、文件访问、数据库、用户定位等。

  核心操作系统层(Core OS ):这一层次包含了iOS操作系统的很多基础组件,其中包括:系统内核、内存管理、文件系统、电源管理、网络组件和设备驱动等,可以直接和硬件设备进行交互。

3. iOS系统框架表格


框架名称


功能


Foundation


提供OC的基础类(像NSObject)、基本数据类型等


UIKit


创建和管理应用程序的用户界面


QuartzCore


提供动画特效以及通过硬件进行渲染的能力


CoreGraphics


提供2D绘制的基于CAPI


SystemConfiguration


检测当前网络是否可用和硬件设备状态


AVFoundation


提供音频录制和回放的底层API,同时负责管理音频硬件


CFNetwork


访问和配置网络,像HTTPFTPBonjour Services


CoreFoundation


提供抽象的常用数据类型,如Unicode stringsXMLURL


CoreLocation


使用GPSWIFI获取位置信息


框架名称


功能


GameKit


为游戏提供网络功能:点对点互联和游戏中的语音交流


AddressBook


提供访问用户联系人信息的功能


AddressBookUI


提供一个用户界面,显示存储在地址簿中的联系人信息


AudioToolBox


提供音频录制和回放的底层API,同时负责管理音频硬件


AudioUnit


提供一个接口,让应用程序可以对音频进行处理


MapKit


为应用程序提供内嵌地图的接口


MediaPlayer


提供播放视频和音频的功能


MessageUI


提供视图控制接口用以处理E-mail和短信


OpenGLES


提供动画特效以及通过硬件进行渲染的能力


StoreKit


为应用程序提供在程序运行中消费的支持

4. iOS 和 android 系统架构对比

  Android是基于Linux内核设计的,在Linux内核上面运行了一个Java虚拟机,虚拟机再运行软件。像是在一个系统上面又套了一个系统,所以占内存较大、运行速度略低。

  IOS是基于UNIX的,直接与底层硬件通信。系统底层、应用框架、应用软件都是采用C/C++或者Objective-C写的,所以有很高的运行效率。

第二部分: Hello World

环境:

  OS X : 10.9.2

  XCODE : 5.1.1

目标:

  1. 新建项目

  2. 搭建界面

  3. 监听按钮点击事件

  4. 获取文本框内容,并将结果显示在文本标签中

笔记:

  1. 创建stroyboard项目,如图

    

  2. 搭建界面

  

  3. 监听按钮点击事件

  

  4. 获取文本框内容,并将结果显示在文本标签中

  

备注:

  1. 如果当点击【Editor】按钮,编辑区域呈左右页面,

    可以在【view】-【Assistant Editor】- 【Assistant Editor on Botton】,

    修改为 上下结构,进行呈现。

  2. 可以发现,在连线的时候,自动会生成 【IBOutlet】【IBAction】以IB为前缀的词语,

    是因为利用 Interface Builder 工具的原因。 Outlet - 是告诉程序可以操作对象。

  3. 通常,在一个类的内容,使用自己的属性,为了提高效率,可以使用成员变量代替属性,

    比如:_txtUserName.text 就可以代替(self.lblUserName.text)。

    定义属性的目的是:为了其他类访问本类时,保证内部数据安全。

  4. 当输入文本框的时候,会自动弹出一个键盘。当点击【完成】按钮后,

    想把键盘也隐藏掉,可以使用 [self.view endEditing:YES];

                          ---  iCode , 爱生活。

时间: 2024-10-11 07:50:48

Lesson1 -- IOS开发概述 && HelloWorld的相关文章

UI基础—iOS开发概述

1.一款app立足的两大要素 * 美观的UI界面 * 实用的功能 2.iOS系统架构 * iOS是基于UNIX系统的,就系统的稳定性而言,我们完全可以相信这个系统. * iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch layer).   --可触摸层(Cocoa Touch):为应用程序开发提供各种有用的框架,并且大部分均与用户界面有关,本质上来说

iOS开发概述UIkit动力学

UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始化方法,先讲常见的第一种 animator= [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 动态特性的实现主要依靠它所添加的行为,通过以下方法进行添加和移除,  [animator addBehavior:attachmen

iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。

转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage风格 目录[-] UIDynamicAnimator UIAttachmentBehavior(吸附) UIPushBehavior(推动) UIGravityBehavior(重力) UICollisionBehavior(碰撞) UISnapBehavior(捕捉) UICollectionVi

ios开发介绍

iOS开发概述 •什么是IOS •什么是IOS开发 •为什么要选择IOS开发 •学习IOS开发的准备 1.什么是iOS •iOS是一款由苹果公司开发的操作系统(OS是Operating System的简称),就像平时在电脑上用的Windows XP.Windows 7,都是操作系统 •那什么是操作系统呢?操作系统其实是一种软件,是直接运行在硬件(电脑.手机等)上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行 •iOS与Win7等操作系统的差异 XP.Win7是PC操作系统,也就

[菜鸟成长记]iOS开发自学笔记01-向helloworld致敬

我有一个梦想就是成为一个iOS开发.........菜鸟,老规矩,一切从helloworld开始. iOS8伴随着iphone6/6plus而来,Xcode6伴随着iOS8而来,苹果更新换代的速度依然很快,从硬件到软件,每次更新就意味着开发者们又要面临着一次次的恶补,当然,像我这样励志成为iOS开发菜鸟的人来说,目前还没有到面临这些问题的烦恼,我只需要专心做好我的hello world小程序,就像我从前无数次地在其他平台一样. 首先打开Xcode后从模板中选择single view applic

IOS开发之支付功能概述

前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微信支付的网址是: https://pay.weixin.qq.com/wiki/doc/api/index.html 进去之后,我们可以看到网页,但我接下来主要讲的是app支付 app支付的过程:商业app通过集成微信SDK,用户解析后跳转到微信内软件支付的过程. 点进去app支付: 我们可以看到A

iOS APP开发概述----学习笔记001

之前开发过一些Android APP,现在开始学习iOS开发,未来实际工作应该会用到,未雨绸缪. 一.了解其系统层次架构 其系统分层四层,其详细如下: 二.开发平台组建 三.动手实践 可以自己动手,结合swift和MVC框架,写一个计算机的小例子. 版权声明:本文为博主原创文章,未经博主允许不得转载.

IOS网络开发概述

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

"iOS push全方位解析(一)【译文】"——iOS PUSH概述

这是一篇来自raywenderlich的教程,内容翔实!结构简单.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1. push的概述(本博文) 2. 生成push证书,生成Provisioning Profile 3. 一个极简的demo,并测试一下push 这里查看原文 -------------------------------------------------------------------------------------------------