《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类似的文档窗口。
 
 如果向下滚动标有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所示就是一个这样的图。
 
 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信号一样都能跟踪位置)的类和触摸式界面,并且去掉了不需要的类,比如支持打印的类
 关注公众号
关注公众号
					低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 
							
								
								    上一篇
								      《深入解析Android 虚拟机》——第2章,第2.1节虚拟机的作用本节书摘来自异步社区《深入解析Android 虚拟机》一书中的第2章,第2.1节虚拟机的作用,作者 钟世礼,更多章节内容可以访问云栖社区“异步社区”公众号查看 第2章 Java虚拟机基础深入解析Android 虚拟机Java虚拟机和Android虚拟机十分相似,所以在本书中将以Java虚拟机开始,逐步引领广大读者步入Android虚拟机的世界。在本章的内容中,将简要讲解Java虚拟机技术的基本知识,为读者步入本书后面知识的学习打下基础。 2.1 虚拟机的作用虚拟机(Virtual Machine)这一概念最初由波佩克与戈德堡定义,是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。由此可见,虚拟机是跟特定硬件无关的一个系统。在现实应用中,虚拟机最常见的情形便是双系统。例如计算机原装系统是Windows,为了在这台机器上能够体验Linux系统,可以安装一个虚拟机环境,在这个虚拟机环境中运行Linux系统,这样就实现了“一机双系统”的功效。在现实应用中,通过虚拟机软件可以在一台物理计算机上模拟出一台或多台虚拟的计算机。这些虚拟机完全可以像真正的计算机那样进行... 
- 
							
								
								    下一篇
								      整理了1000个手机屏幕截图,看移动应用格局前些天土匪搞了个小调研,让大家把手机首屏和二屏的截图发过来,想做一些统计,结果回复的人数还是超过土匪预期,差不多1000张图片。 本来想一天就能解决,后来发现要把这一千张图片里的图标识别出来,做一个统计,这个真的是很繁重的一项工作,感谢同事徐洁做了非常重要的工作。但这些还是花了好几天的时间, 希望大家理解。 对于数据的几个说明:一是有些app狂人,无数个文件夹无数APP的就去除了,二是这些统计肯定不能代表所有用户,样本量不够,都是土匪的粉丝,应该是创业投资领域,三是只有首屏和部分二屏,不是所有手机里的APP,四是统计肯定有疏漏,所以只能做粗略分析。 先把总的一个表分享给大家,这个是安卓和IOS各自数量排名前五十的榜单。 经过统计以后,总结出几个有意思的点: 1. Android和iOS的用户区别还是蛮明显的,特别是首屏的习惯,这个一方面是 
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- 面试大杂烩
- Red5直播服务器,属于Java语言的直播服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- MySQL表碎片整理

 
			 
				 
				 
				 
				 
				 
				 
				



 微信收款码
微信收款码 支付宝收款码
支付宝收款码