网站首页 网站导航 课程中心
新闻中心
您所在的位置:IOS培训 > 新闻中心 > 编写iOS应用程序有什么不一样

编写iOS应用程序有什么不一样

来源:中软卓越 日期:2017-06-27 10:58 人气:
标签:
中软国际教育集团Python+大数据课程入驻大武汉啦!!!

编写iOS应用程序有什么不一样

        今天,中软卓越武汉IT培训的小编将要为大家带来的是编写iOS应用程序有什么不一样。以下为具体内容。

       如果从未使用过Cocoa或它的前期产品NeXTSTEP和OpenStep,那么你可能会发现Cocoa Touch(用于编写iOS应用程序的应用程序框架)稍显另类。它与其他常用应用程序框架(如用于构建.NET或Java应用程序的框架)之间存在一些根本差异。你起初可能会有点不知所措,但不必担心,只要勤加练习,就可以掌握其中的规律。

        如果你具备使用Cocoa或NeXTSTEP编程的经验,就会发现iOS SDK中有许多熟悉的身影。其中的许多类都是从用于Mac OS X开发的版本中原样借鉴过来的,一些类即便不同,也遵循相同的基本原则,并使用与旧版本类似的设计模式。但是,Cocoa和Cocoa Touch之间却存在一些差异。

无论你的知识背景如何,都需要谨记iOS开发与桌面应用程序开发之间的重要差异。

只有一个应用程序正在运行

         在iOS上,每一时间段内只能激活一个应用程序并在屏幕上显示。从iOS 4开始,在用户按下home按钮后,应用程序可以继续在后台运行,但是这种情况也只限于特定的场合,而且必须为此编写特定的代码。

当应用程序未激活或运行于后台时,它不会占用任何CPU资源,这将导致网络连接断开以及其他问题。iOS 5在后台处理能力方面已经有了大幅提升,但要使应用程序在这种情况下仍运行良好,还需要你自身多加努力。

只有一个窗口

        在台式及笔记本电脑操作系统中,多个程序可以同时运行,并且可以分别创建和控制多个窗口。而iOS则有所不同,它只允许应用程序操作一个"窗口"。应用程序与用户的所有交互都在这个窗口中完成,而且这个窗口的大小就是iOS设备屏幕的大小,是固定的。

访问受限

        计算机上的程序可以访问其用户能够访问的任何内容,而iOS则严格限制了应用程序的访问权限。

        你只能在iOS为应用程序创建的文件系统中读写文件。此区域称为应用程序的沙盒,应用程序在其中存储文档、首选项等需要存储的各种数据。

        应用程序还存在其他方面的限制。举例来说,你不能访问iOS上端口号较小的网络端口,也不能执行台式计算机中需要有根用户或管理员权限才能执行的操作。

有限的响应时间

        由于使用方式特殊,iOS及其应用程序需要具备较快的响应时间。启动应用程序时,需要先打开它,载入首选项和数据,并尽快在屏幕上显示主视图,这一切要在几秒之内完成。

        只要应用程序在运行,就可以从上面拖下通知中心界面。如果用户按home按钮,iOS就会返回主屏幕,用户需要快速保存一切内容并退出。如果未在5秒之内保存并放弃控制,则应用程序进程将终止,无论用户是否已经完成保存。

有限的屏幕大小

        iPhone的屏幕显示效果非常出色,在推出的相当长的一段时间内,它都是消费设备中分辨率最高的屏幕。但是,iPhone的显示屏幕并不大,你施展的空间要比现代计算机小很多。

有限的系统资源

        或许,开发iOS应用程序与在内存为48 KB的机器上编写复杂的电子表格应用程序不属于同一级别,二者之间没有可比性,但由于iOS的图形属性和它的功能,其内存不足是常见的情况。

        虽然这些内存对于这样的小型计算机可能已经足够了,但谈到iOS的内存时还有另一个因素需要考虑:现代计算机操作系统,如Mac OS X,会将一部分未使用的内存块写到磁盘的交换文件中。这样,当应用程序请求的内存超过计算机实际可用的内存时,它仍然可以运行。但是,iOS并不会将易失性内存(如应用程序数据)写到交换文件中。因此,应用程序可用的内存量将受到手机中未使用的物理内存量的限制。

        Cocoa Touch提供了一种内置机制,可以将内存不足的情况通知给应用程序。出现这种情况时,应用程序必须释放不需要的内存,否则就可能被强制退出。

不支持垃圾收集

        之前提过,Cocoa Touch使用Objective-C语言,但是该语言有一个关键特性在iOS中不可用:Cocoa Touch不支持垃圾回收。对于许多刚刚接触这个平台(尤其是那些从支持垃圾回收的语言转向这个平台)的开发者来说,开发iOS应用时需要手动管理内存是一件麻烦事。

        然而,iOS 5所支持的Objective-C版本,基本上解决了这个棘手的问题。iOS 5引入了一个特性–自动引用计数(Automatic Reference Counting,ARC),借助该特性你无需再手动为Objective-C对象管理内存。我们将在第3章讨论ARC。

新功能

       Cocoa Touch缺少Cocoa的一些功能,但iOS SDK中也有一些新功能是Cocoa所没有的,或者至少不是在任何Mac上都可用的。

       iPhone SDK为应用程序提供了一种定位方法,即用Core Location确定手机的当前地理坐标。

       大部分iOS设备都还提供了内置的照相机和照片库,并且SDK允许应用程序访问两者。

        iOS还提供了一个内置的加速计(而最新的iPhone、iPod touch中还有陀螺仪),用于检测机子的握持和移动方式。

与众不同的方法

       iOS设备没有键盘和鼠标,这意味着在编程时它与用户的交互方式和通用的计算机所采取的方式截然不同。所幸的是,大多数交互都不需要你来处理。例如,如果在应用程序中添加一个文本框,则iOS系统就会在用户单击该字段时调用键盘,不需要编写任何额外的代码。

       说明目前的设备支持通过蓝牙连接外部键盘,这提供了一种不错的键盘体验并节省了一定的屏幕空间,但这种使用情形仍然非常少。现在依然无法连接鼠标。

中软卓越是中软国际有限公司投资的大型人才服务机构,是中软国际人才战略的核心组成部分之一,承担集团发展过程中人才储备和培养的任务,是软件及外包业务快速发展的重要人才支撑平台,是集团保持高速增长动力之一。

中软国际教育集团专注IT教育36年,一直秉承“用良心做教育”的理念,是中国移动互联网研发人才一体化服务的开拓者,全力打造移动互联网研发人才服务优质平台。

公司总部位于武汉,目前已在深圳、上海、郑州、广州、大连、武汉、成都、西安、杭州、重庆、长沙、合肥、无锡、南宁、厦门、南京、南昌等全国22个省成立了60多家分公司。拥有全国的移动互联网教学就业保障团队,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。

营业执照 版权所有©Copyright 2008-2017,武汉中软卓越科技有限公司 , All Rights Reserved. ICP备案号:15018648号-1

sitemap | 来校路线 | 分类导航 | 关于我们