码迷,mamicode.com
首页 > 移动开发 > 详细

iOS学习笔记

时间:2015-04-15 09:41:24      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:ios   学习   

2015-04-14

昨天装好了Xcode,今天开始接触OC以及iOS的基础知识:

  • iOS基于OS X同样的Mach内核
  • iOS App由以下技术层次支撑:
    • Cocoa Touch
    • Media
    • Core Services
    • Core OS

Core OS和Core Services提供了底层支持,包括文件访问、网络协议、低级数据类型、Bonjour服务等。它们是C基础的接口,包括Core Foundation,CFNetwork,SQLite等API

Media层提供了一些基本的2D、3D绘图、声音和视频技术的支持。包括基于C的OpenGL ES,Quartz,Core Audio;以及基于Objective-C的Core Animation等。

Cocoa Touch层包括了大部分使用Objective-C的API,主要由Foundation和UIKit两个框架构成,Foundation提供了面向对象方式的文件访问、网络操作、数据/集合类型等。UIKit提供了App中主要的UI控件和控制器等类。

在进行iOS App开发时,应当从上至下的使用这些技术层次。

Cocoa Touch层提供了基本的系统行为支持,将工作量降到最低。当想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。

App核心结构

App从打开到退出,都是由UIKit框架在管理着大部分的底层机制。它提供了一些程序运行所必须的关键对象,使得App能够捕获用户输入和在屏幕上显示内容。UIKit使用每个App唯一的UIApplication对象来接受用户对象的输入,然而对用户的输入做出反馈是我们的代码应该完成的部分。

App生命周期

  • 启动(Launch)
  • 事件循环(Event Loop)
  • 终止(Termination)

技术分享

事件处理周期

捕获事件 -> 包装事件(UIEvent)-> 处理事件 -> 反馈显示
技术分享

在主循环中处理事件:系统捕获事件,将事件传递给可以响应的对象;响应对象处理事件或传递事件;如果事件没有被处理,则被放弃:
技术分享

App沙盒

出于安全因素考虑,iOS严格的将各个App分别存放在文件系统的独立位置,这样的机制称为沙盒(SandBox)。这样,每一个App的文件都被安全地保管起来,别的App无法访问。App也无法对沙盒以外的文件系统,包括系统文件进行访问。 在App安装过程中,系统为每个App生成它的主目录和一些关键的子目录,通常的路径为:

/ApplicationRoot/ApplicationID/

App包(Application Bundle)

在编译App时,Xcode将它整理为一个包(Bundle)。App包是文件系统中的一个目录,将相关的文件都集中到一个地方。App包里主要包括了App的可执行文件和资源文件等。

App包的典型成份:

  • MyApp.app 可执行文件
  • Icon.png App图标
  • MainWidow.nib 主窗口xib文件
  • Default.png 加载时图片
  • iTunesArtwork iTunes图片
  • Info.plist 配置文件
  • Resource files 资源文件

Info.plist:
技术分享

限制条件

  • 显示面积
    • 尽可能少而紧凑的界面元素
    • 足够大的交互控件
  • 文件大小
    • 有限的存储空间
    • 下载的时间和费用
    • 资源加载速度
  • 内存空间
    • 128M,更少的程序运行空间
    • 内存管理和优化
    • 避免过高质量的图片和音频
  • 运行限制
    • 一次只有一个前台程序
    • 不可开发后台运行的程序
    • 程序运行时间不得超过5秒钟
  • 数据访问
    • 不能使用其他App中的静态类库
    • 不能访问沙盒以外的任何文件,也不能把沙盒内的文件共享出去
    • 可以通过特定的API访问一些系统资源,如图片库、地址簿等
    • 在有网络链接时可以访问网络资源
  • 能量消耗
    • CPU负载
    • 发热,电池消耗过快
    • 算法优化
  • 用户使用习惯
    • 快速启动,短暂使用
    • 随时可能退出
    • 避免多余的“帮助”
    • 自动保存

Hello,There App

1.Create a new Xcode project:
技术分享

2.Single View Application
技术分享

3.Options for new project:
技术分享

4.选择项目存放路径,然后生成了如下的项目结构:
技术分享

5.然后编辑Main.storyboard(故事板?),选择ViewController
技术分享

6.拖动Lable对象到Main.storyboard上面,双击可以编辑,改成我们需要的文字即可
技术分享
运行效果:
技术分享

iOS学习笔记

标签:ios   学习   

原文地址:http://blog.csdn.net/zhoumushui/article/details/45050469

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!