《iOS 8开发指南(第2版)》——第1章,第1.6节iOS的常用开发框架

简介:

本节书摘来自异步社区《iOS 8开发指南(第2版)》一书中的第1章,第1.6节iOS的常用开发框架,作者 管蕾,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.6 iOS的常用开发框架
iOS 8开发指南(第2版)
为了提高开发iOS程序的效率,除了可以使用Xcode集成开发工具之外,还可以使用第三方提供的框架,这些框架为我们提供了完整的项目解决方案,是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易。在OSX下的Mac操作系统中,大约存在80个框架,这些框架可以用来开发应用程序,处理Mac的Address Book结构、刻制CD、播放DVD、使用QuickTime播放电影、播放歌曲等。

在iOS的众多框架中,其中有两个最为常用的框架:Foundation框架和Cocoa框架。

1.6.1 Foundation框架简介
在OSX下的Mac操作系统中,为所有程序开发奠定基础的框架称为Foundation框架。该框架允许使用一些基本对象,例如数字和字符串,以及一些对象集合,如数组、字典和集合。其他功能包括处理日期和时间、自动化的内存管理、处理基础文件系统、存储(或归档)对象、处理几何数据结构(如点和长方形)。

Foundation头文件的存储目录是:

/System/Library/Frameworks/Foundation.framework/Headers

上述头文件实际上与其存储位置的其他目录相链接。请读者查看这个目录中存储在系统上的Found-ation框架文档,熟悉它的内容和用法简介。Foundation框架文档存储在我们计算机系统中(位于/Develop/Documentation目录中)。另外,Apple网站上也提供了此说明文档。大多数文档为HTML格式的文件,可以通过浏览器查看。同时也提供了Acrobat pdf文件。这个文档中包含Foundation的所有类及其实现的所有方法和函数的描述。

如果正在使用Xcode开发程序,可以通过Xcode的Help菜单中的Documentation窗口轻松访问文档。通过这个窗口,可以轻松搜索和访问存储在计算机本机中或者在线的文档。如果正在Xcode中编辑文件并且想要快速访问某个特定头文件、方法或类的文档,可以通过高亮显示编辑器窗口中的文本并右键单击的方法来实现。在出现的菜单中,可以适当选择Find Selected Text in Documentation或者Find Selected Text in API Reference,Xcode将搜索文档库,并显示与查询相匹配的结果。

看一看它是如何工作的。类NSString是一个Foundation类,可以使用它来处理字符串。假设正在编辑某个使用该类的程序,并且想要获得更多关于这个类及其方法的信息,无论何时,当单词NSString出现在编辑窗口时,都可以将其高亮显示并右键单击。如果从出现的菜单中选择Find Selected Text in API Reference,会得到一个外观与图1-60类似的文档窗口。


cf9c2f53e5ae10cafb6beae9c3045af2143aee53

如果向下滚动标有NSString Class Reference的面板,将发现(在其他内容中间)一个该类所支持的所有方法的列表。这是一个能够获得有关实现哪些方法等信息的便捷途径,包括它们如何工作以及它们的预期参数。

读者可以在线访问developer.apple.com/referencelibrary,打开Foundation参考文档(通过Cocoa、Frameworks、Foundation Framework Reference链接),在这个站点中还能够发现一些介绍某些特定编程问题的文档,例如内存管理、字符串和文件管理。除非订阅的是某个特定文档集,否则在线文档要比存储在计算机硬盘中的文档从时间上讲更新一些,如图1-60所示。

在Foundation框架中包括了大量可供使用的类、方法和函数。在Mac OS X上,大约有125个可用的头文件。作为一种简便的形式,我们可以使用如下代码头文件:

#import <Foundation/Foundation.h>

因为Foundation.h文件实际上导入了其他所有Foundation头文件,所以不必担心是否导入了正确的头文件,Xcode会自动将这个头文件插入到程序中。虽然使用上述代码会显著地增加程序的编译时间,但是,通过使用预编译的头文件,可以避免这些额外的时间开销。预编译的头文件是经过编译器预先处理过的文件。在默认情况下,所有Xcode项目都会受益于预编译的头文件。在本章使用每个对象时都会用到这些特定的头文件,这会有助于我们熟悉每个头文件所包含的内容。

1.6.2 Cocoa框架简介
Application Kit框架包含广泛的类和方法,它们能够开发交互式图形应用程序,使得开发文本、菜单、工具栏、表、文档、剪贴板和窗口等应用变得十分简便。在Mac OS X操作系统中,术语Cocoa是指Foundation框架和Application kit框架。术语Cocoa Touch是指Foundation框架和UIKit框架。由此可见,Cocoa是一种支持应用程序、提供丰富用户体验的框架,它实际上由如下两个框架组成:

Foundation框架;
Application Kit(或AppKit)框架。
其中后者用于提供与窗口、按钮、列表等相关的类。在编程语言中,通常使用示意图来说明框架最顶层应用程序与底层硬件之间的层次,如图1-61所示就是一个这样的图。


ed2609da8ee0d2d3e469408b44791edead6ecaec

User:用户。
Application:应用程序。
Cocoa(Foundation and AppKit Frameworks):Cocoa(Foundation和AppKit框架)。
Application Services:应用程序服务。
Core Services:核心服务。
Mac OS X kernel:Mac OS X内核。
Computer Resources (memory, disk,display, etc.):计算机资源(内存、磁盘、显示器等)。
内核以设备驱动程序的形式提供与硬件的底层通信,它负责管理系统资源,包括调度要执行的程序、管理内存和电源,以及执行基本的I/O操作。

核心服务提供的支持比它上面层次更加底层或更加“核心”。例如,在Mac OS X中主要对集合、网络、调试、文件管理、文件夹、内存管理、线程、时间和电源的管理。

应用程序服务层包含对打印和图形呈现的支持,包括Quartz、OpenGL和Quicktime。由此可见,Cocoa层直接位于应用程序层之下。正如图1-61中指出的那样,Cocoa包括Foundation和AppKit框架。Foundation框架提供的类用于处理集合、字符串、内存管理、文件系统、存档等。通过AppKit框架中提供的类,可以管理视图、窗口、文档等用户界面。在很多情况下,Foundation框架为底层核心服务层(主要用过程化的C语言编写)中定义的数据结构定义了一种面向对象的映射。

Cocoa框架用于Mac OS X桌面与笔记本电脑的应用程序开发,而Cocoa Touch框架用于iPhone与iTouch的应用程序开发。Cocoa和Cocoa Touch都有Foundation框架。然而在Cocoa Touch下,UIKit代替了AppKit框架,以便为很多相同类型的对象提供支持,如窗口、视图、按钮、文本域等。另外,Cocoa Touch还提供使用加速器(它与GPS和WiFi信号一样都能跟踪位置)的类和触摸式界面,并且去掉了不需要的类,比如支持打印的类

相关文章
|
1月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
85 3
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
39 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2
|
3月前
|
API 开发工具 iOS开发
iOS 开发高效率工具包:10 大必备工具
iOS 开发高效率工具包:10 大必备工具
47 1
|
3月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
54 1
|
6天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
9 0
|
21天前
|
开发工具 Swift iOS开发
利用SwiftUI构建动态用户界面:iOS开发新范式
【4月更文挑战第3天】 随着苹果不断推进其软件开发工具的边界,SwiftUI作为一种新兴的编程框架,已经逐渐成为iOS开发者的新宠。不同于传统的UIKit,SwiftUI通过声明式语法和强大的功能组合,为创建动态且响应式的用户界面提供了一种更加简洁高效的方式。本文将深入探讨如何利用SwiftUI技术构建具有高度自定义能力和响应性的用户界面,并展示其在现代iOS应用开发中的优势和潜力。
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
196 2
|
3月前
|
数据可视化 iOS开发
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
40 4