iOS面试题汇总(二)(3)
60.目标-动作机制
目标是动作消息的接收者。一个控件,或者更为常见的是它的单元,以插座变量(参见"插座变量"部分) 的形式保有其动作消息的目标。
动作是控件发送给目标的消息,或者从目标的角度看,它是目标为了响应动作而实现的方法。
程序需要某些机制来进行事件和指令的翻译。这个机制就是目标-动作机制。
61.cocoatouch框架
iPhoneOS 应用程序的基础Cocoa Touch 框架重用了许多 Mac 系统的成熟模式,但是它更多地专注于触摸的接口和优化。UIKit 为您提供了在 iPhone OS 上实现图形,事件驱动程序的基本工具,其建立在和 Mac OS X 中一样的 Foundation 框架上,包括文件处理,网络,字符串操作等。
CocoaTouch 具有和 iPhone 用户接口一致的特殊设计。有了 UIKit,您可以使用 iPhone OS 上的独特的图形接口控件,按钮,以及全屏视图的功能,您还可以使用加速仪和多点触摸手势来控制您的应用。
各色俱全的框架 除了UIKit 外,Cocoa Touch 包含了创建世界一流iPhone 应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问 API 以控制摄像头,或通过 GPS 获知当前位置。Cocoa Touch 既包含只需要几行代码就可以完成全部任务的强大的 Objective-C 框架,也在需要时提供基础的 C 语言 API 来直接访问系统。这些框架包括:
CoreAnimation
通过 CoreAnimation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
CoreAudio
CoreAudio 是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
CoreData
提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。
功能列表:框架分类
下面是 CocoaTouch 中一小部分可用的框架:
• 音频和视频
• Core Audio
• OpenAL
• Media Library
• AV Foundation
• 数据管理
• Core Data
• SQLite
• 图形和动画
• Core Animation
• OpenGL ES
• Quartz 2D
• 网络/li>
• Bonjour
• WebKit
• BSD Sockets
• 用户应用
• Address Book
• Core Location
• Map Kit
• Store Kit
62.objc的内存管理
如果您通过分配和初始化(比如[[MyClass alloc] init])的方式来创建对象,您就拥 有这个对象,需要负责该对象的释放。这个规则在使用NSObject的便利方法new 时也同样适用.
如果您拷贝一个对象,您也拥有拷贝得到的对象,需要负责该对象的释放.
如果您保持一个对象,您就部分拥有这个对象,需要在不再使用时释放该对象。
如果您从其它对象那里接收到一个对象,则您不拥有该对象,也不应该释放它(这个规则有少数 的例外,在参考文档中有显式的说明)。
63.自动释放池是什么,如何工作
当您向一个对象发送一个autorelease消息时,Cocoa就会将该对 象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>