今天记录一下学习Cocoa里有关里的Foundation框架。
1.首先Cocoa是由两个不同的框架组成的:Foundation Kit和Application Kit,而Application Kit包含了所有的用户接口对象和高级类,Foundation框架中则有很多有用的,面向数据的低级类和数据类型。
2.范围的作用,看看一下结构体:
- (1) NSPoint和NSSize,首先看看它们的结构体:
- typedef struct _NSPoint{
- float x ;
- float y;
- }NSPoint;
- typedef struct _NSSize{
- float width;
- float height;
- }NSSIze;
- (2)矩形类型NSRect
- typedef struct _NSRect{
- NSPoint origin;
- NSSize size;
- }NSRect;
- (3)它们也一样有:创建数据类型的快捷函数,NSMakePoint(),NSMakeSize()和NSMakeRect().
4.字符串类型操作:
应用程序可以请求一定的时间完成某些重要的任务。
-
不管应用程序是被挂起还是在后台运行,支持多任务不需要付出额外的工作。但是在某些情况(例如内存不足)下,应用程序可能会被结束运行。因此,应用程序应该可以在任何时候退出。这就意味着许多在退出应用程序时需要执行的任务必须改为在应用程序切换到后台的时候执行。这就要求您在应用程序委托中实现一些新的方法以响应程序的状态切换。
如需实现数据保护,应用程序应在待保护数据的创建和管理方式下一些功夫。它必须能够在数据创建之时保证其安全,而且需要适配设备上锁或未上锁造成的文件可访问性的变化。
从设计角度看,让应用程序支持推送通知包含两个部分。首先,iOS应用程序需要请求系统向其发送通知,然后要合理配置应用程序委托使其可以对通知进行恰当处理。这些工作可以通过应用程序委托以及UIApplication对象合作完成。第二,您需要提供一个服务器端进程用于产生最初的通知。该进程运行在您自己的本地服务器,它和苹果推送通知服务协同工作以产生最初的通知。
本地通知的优点是它独立于您的应用程序。一旦某个通知被安排好后,系统会负责通知发送。而且在发送通知的时候,您的应用程序无需处于运行状态
现在,UIKit框架中包含一个UIGestureRecognizer 类,它定义了所有手势识别器的基本行为。您可以使用自定义的手势识别器子类或者系统定义的某个子类处理下面这些标准手势:
-
摇动或者拖拽
-
长按
您可以通过如下步骤来让应用程序支持文件共享:
-
-
一旦设备插入到用户计算机,iTunes 9.1就会在选中设备的Apps标签中显示一个File Sharing区域。
-
如需进一步了解 UIFileSharingEnabled键,请查看信息属性列表参考。
点对点服务Cocoa Touch层许多框架含有展现标准系统界面的视图控制器。我们提倡您在应用程序中使用这些视图控制器,这样可以让您的程序和系统具有一致的用户体验。如果您需要执行下述任务,请从相应的框架中选择一个视图控制器使用:
-
创建email或者SMS消息 - 请使用Message UI框架中的视图控制器。
-
拍摄视频片段 - 请使用UIKit框架中的UIImagePickerController类。
UIScreen 类用于获取当前所有屏幕(包括设备主屏幕)的屏幕对象。屏幕对象包含屏幕的属性信息(包括将屏幕的尺寸和像素比例也考虑在内的屏幕特征)。
-
-
如需进一步了解上述类可提供的支持,请查看UIKit框架参考中相应的类描述。
Cocoa Touch 层包含的框架如果需要进一步了解Address Book UI框架以及如何使用该框架,请查看iOS地址簿编程指南以及iOS地址簿框架参考。
Event Kit UI 框架iOS 3.0引入了Game Kit框架(GameKit.framework)。该框架支持点对点连接及游戏内语音功能,您可以通过该框架为应用程序增加点对点网络功能。点对点连接以及游戏内语音功能在多玩家的游戏中非常普遍,不过您也可以考虑将其加入到非游戏应用程序。此框架通过一组建构于Bonjour之上的简单而强大的类提供网络功能,这些类将许多网络细节抽象出来,从而让没有网络编程经验的开发者可以更加容易地将网络功能整合到应用程序。
如需进一步了解如何在应用程序当中使用iAd,请查看iAd 框架参考。
Map Kit 框架如需进一步了解Map Kit框架中的类,请查看Map Kit 框架参考。
Message UI 框架如需进一步了解Message UI框架中的类,请参考Message UI 框架参考。
UIKit 框架用户界面管理
-
处理触摸及移动事件。
-
剪切、复制以及粘贴
-
苹果推送通知服务支持,请查看“苹果推送通知服务 ”
-
创建PDF
-
除了链编至应用程序的基础代码,UIKit还为下述和设备紧密相连的功能提供支持:
-
用户的图片库
-
距离感应器信息
-
Core OS层的底层功能是很多其他技术的构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架。
Accelerate 框架iOS 3.0引入了External Accessory框架(ExternalAccessory.framework),通过它来支持iOS设备与绑定附件通信。附件可以通过一个30针的基座接口和设备相连,也可通过蓝牙连接。通过External Accessory框架,您可以获得每个外设的信息并初始化一个通讯会话。通讯会话初始化完成之后,您可以使用设备支持的命令直接对其进行操作。
CommonCrypto接口另外还支持对称加密、HMAC以及Digests。实际上,Digests的功能实和OpenSSL库常用的功能兼容,但是iOS无法使用OpenSSL库。
系统层包括内核环境、驱动及操作系统底层UNIX 接口。内核以Mach为基础,它负责操作系统的各个方面,包括管理系统的虚拟内存、线程、文件系统、网络以及进程间通讯。这一层包含的驱动是系统硬件和系统框架的接口。出于安全方面的考虑,内核和驱动只允许少数系统框架和应用程序访问。
网络 (BSD sockets)
-
Bonjour和 DNS服务
-
数学计算
-