首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
移动开发
> 详细
初识iOS
时间:
2015-04-17 09:35:21
阅读:
120
评论:
0
收藏:
0
[点我收藏+]
标签:
编写iOS应用程序有何不同
1.只能同时运行一个应用程序:当程序不处于活动状态也不是在后台运行时,它不会占用任何cpu资源,因此也会断开网络连接。iOS允许程序在后台进行处理,但要做到这点,开发者需要多做些努力
2.只有一个窗口:iOS只允许应用程序操作一个窗口,应用程序与用户的所有交换都在这个窗口中完成,而且这个窗口的大小就是iOS设备屏幕的大小,是固定的。
3.有限的访问权限:iOS严格限制了应用程序的访问权限,ios的文件系统会为每个应用程序分配一块独立的区域,这块区域称为沙盒,每个应用都只能对自己沙盒内的文件进行读写。应用程序还会受到其他方面的限制,比如,不能访问iOS中端口号较小的网络端口。
4.有限的响应时间:由于使用方式特殊,iOS需要能够快速响应各种时间,应用程序也应该如此,在应用程序运行的任何时刻,都可以通过单击home键回到主界面,这时候,应用程序必须快速保存一切内容并退出,如果没有在5秒内保存必要的数据并放弃对系统资源的控制,则无论是否已经保存完成,应用程序都会被终止。有一个api可以在应用程序终止前申请多一些的时间来完成必要的工作,你必须知道如何使用它才行。
5.有限的屏幕大小:因为屏幕尺寸的问题,无法摆放更多的控件,极大的影响了所能提供的应用种类和交互性。
6.有限的系统资源:由于iOS具备的图形特性和多种功能,内存很容易被消耗光,所以Cocoa Touch提供了一种内置机制,可以在内存不足时通知应用程序,出现这种情况时,应用程序必须释放不必要的内存空间,否则就可能被强制退出。
7.不支持垃圾回收机制:Cocoa Touch使用的时Objective-C,但是iOS却并不支持一个Objective-C早就存在的关键特性:垃圾回收。这需要开发者自己去手动管理内存。但是,在最新版本iOS基本解决了这个问题,这要归功于ARC(Automatic Reference Counting,自动引用计数)功能,ARC并不是垃圾回收的代替品,事实上,很多方面,它比垃圾回收更优秀。
8.与众不同的交换方式:iOS设备没有键盘和鼠标,大部分的交换都会由iOS系统完成。例如,如果应用到了文本框,iOS系统就会在用户单击文本框时调出软键盘,不需要开发者为此额外编写代码。
分镜(storyboard):每个分镜都是由一组或多组相对应的视图和控制器构成的,视图就是你眼睛能看到并可以在界面构建器中进行编辑的部分,而控制器则是你编写的应用代码,用来处理用户的交互事件,应用的实际操作都是在控制器中进行。
界面构建器包含三个项目:
视图控制器(view controller):视图控制器代表会从某存储文件中加载控制器以及相关联的视图。
第一响应者(First Responder):简单的说就是用户当前正在进行交互的对象,如果用户正在向一个文本框输入数据,那么这个文本框就是第一响应者。第一响应者会随着用户与用户界面的交互而变化,而通过First Responder图标则可以方便与当前作为第一响应者的控件等对象进行通信,不需要编写代码来判断当前到底哪个控件是第一响应者。
离开(exit)
MVC模式(Model-View-Controller):
模型:保存应用程序数据的类。
视图:包括窗口、控件以及其他一些用户可以看到并能与之交互的元素。
控制器:把模型和视图绑在一起的代码,包括处理用户输入的应用程序逻辑。
MVC的目标是最大限度地分离这3类代码。创建的任何对象都应该非常清晰明确,让人一看便知这个对象所属的分类(模型、视图、或控制器),尽量不要包含哪些可能被认为属于多个分类的功能。例如:实现按钮的对象不应该包含按钮点击时处理数据的代码,实现银行账户的对象不应该包含绘制表格以显示交易数据的代码。
用户界面控件有三种基本模式:活跃、静态(又叫非活跃)、和被动。
活跃控件:点击它们时会发生一些事情,通常是触发一段自己编写的事件代码。
静态控件:类似于图像视图等的控件,尽管能对UIImageView控件进行一些配置使其能够触发操作方法,但用户不能执行任何操作,标签和图像一般都采用这种方式。
被动控件:仅用于存储用户输入的值,以备后续使用。这些控件不会触发任何操作方法,但是用户可以与之交互,并修改它们的值。被动控件一个典型的例子就是文本框。
初识iOS
标签:
原文地址:http://www.cnblogs.com/hqzxbb/p/4433948.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
关闭苹果IOS app自动更新
2021-07-29
开发一个即时通讯App
2021-07-28
iOS 跳转App Store进行评分
2021-07-26
诺基亚短信生成!太好玩了
2021-07-26
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
2021-07-26
Android系统编程入门系列之界面Activity响应丝滑的传统动画
2021-07-26
uniapp h5,app两端复制文本
2021-07-22
uni-app滚动视图容器(scroll-view)之监听上拉事件
2021-07-21
新型横向移动工具原理分析、代码分析、优缺点以及检测方案
2021-07-19
Android系统编程入门系列之界面Activity交互响应
2021-07-19
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!