迁移用户界面iOS用户界面的结构及实现和Mac OS X有很大区别。以 Cocoa表示视图和窗口的对象为例。虽然iOS和Cocoa都有用于表示视图和窗口的对象,但是不同平台对象的工作方式稍有差异。另外,在iOS系统中,视图显示的内容需要更精心地挑选,因为屏幕尺寸有限,而视图又必须足够大以便给用户的手指提供足够多的操作目标。除了视图对象自身的差异,在程序运行时,视图显示方式也有巨大差别。举个例子,如果您希望在Cocoa应用程序中显示很多数据,则可以增加窗口的尺寸,使用多个窗口或者使用标签窗口来管理数据。而在iOS应用程序中,只存在一个窗口且窗口的尺寸固定不变。因此,应用程序必须按合理尺寸对信息进行分块,并把数据块呈现在不同的视图。对信息进行分块是为了将其划分成多个屏幕内容,然后您可以根据屏幕内容设计相应的应用程序视图。举个例子,如果要在Cocoa显示分层列表数据,您可能会使用一个NSBrowser对象。但是在iOS系统中,您就需要创建一组大相径庭的视图用于显示不同层的信息。虽然这种方式会导致更复杂的界面设计,但是它的确是非常重要的显示信息的方式。因此,iOS系统为这种组织方式提供很多支持。Mac OS X v10.5系统Cocoa才开始引入视图控制器,对于视图控制器的使用可能还未普及。但在iOS应用程序中,视图控制器是用户界面管理基础架构的关键部分。视图控制器管理用户界面的展现,而且它还与系统相互协作,可以保证应用程序的资源不会占用太多内存,因而可防止程序性能下降。总之,理解视图控制器的角色及其在应用程序的使用方式是设计用户界面的关键。
内存管理iOS系统不支持垃圾收集,您需要使用内存管理模型保持、释放或自动释放对象。和Macintosh计算机相比, iOS设备内存非常有限。因此,您需调整自动释放池的使用,避免创建多个自动释放池对象。另外,请尽可能直接释放对象,不要自动释放。如果您在一个紧凑的循环中分配了很多对象,要么就直接释放那些对象,要么就在循环代码中的恰当的位置创建自动释放池,并在规则的间隔内释放自动释放对象。等到循环结束再释放可能会导致内存不足的警告或导致应用程序被系统杀死。
真是好详细哦!学到了好东西!谢谢大大的分享
使用的api不一样,开发的平台不一样,开发后的软件运行的环境也不一样.还有就是硬件的环境不一样,iPhone要考虑到嵌入式设备的特性