OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结。
1. 框架介绍
框架是由很多类、方法、函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加容易。在OS X系统下有100多个框架,这些框架可以用来开发应用程序。
2. Foundation框架介绍
Foundation框架是一个由上百个函数和类所构成的集合,它为Cocoa应用程序定义了一个基本功能层。不仅如此,Foundation框架还提供了一些范例,定义了一致性的约定,包括内存管理及对象集的访问。这些约定使用同样的机制处理不同类型的对象,令开发者编程时更有效更高效。
- Foundation框架中的类都是以NS为前缀的
- Foundation框架前缀NS的由来
- 乔布斯于1976年创立苹果公司
- 乔布斯于1985年离开苹果公司,创立NeXT公司,开发了Next Step操作系统
- 在开发Next Step操作系统过程中产生了Foundation框架
- 1997年,苹果公司收购NeXT公司,乔布斯重返苹果公司(Mac系统就是基于Next Step系统)
- 2007年,苹果公司发布了iOS系统(iOS系统基于Mac系统)
- "NS"其实指的是乔布斯创建的NeXT这个公司。
3. Foundation框架中的类
- Foundation框架包括:根对象类(NSObject)、表示基本数据类型的类(如字符串和字节数组)、存储其他对象的集合类、表述系统信息和集合的类。
- 根对象类(NSObject及NSCopying协议一起)定义了基本的对象属性和行为。
- Foundation框架提供了很多基本类型,包括数字(NSNumber)和字符串(NSString)。还提供了一些表述其他对象的类,如数组(NSArray)和字典集合(NSDictionary)类。
- Foundation框架提供了访问核心操作的类,如锁、线程和计时器。这些服务共同配合,为应用程序营造了一个健壮的环境。
- Foundation提供了管理对象的功能,可以在分布环境中创建,销毁,保存及共享对象。
4. 我们如何使用Foundation框架
可以使用 #import<Foundation/Foundation.h> 导入Foundation框架,因为Foundation.h文件实际上导入其他所有Foundation框架中的头文件
5. Foundation框架相关类总结
下边是对Foundation框架中一些类的相关知识详细总结
- 字符串类:
- NSString和NSMutableString:不可变字符串和可变字符串
- Foundation框架之字符串类总结
- 数组类:
- NSArray和NSMutableArray:不可变字节数组和可变字节数组
- Foundation框架之数组类总结
- 字典类:
- NSDicitonary和NSMutableDictnary:不可变字典和可变字典
- Foundation框架之字典类总结
- 数字类:
- NSNumber:数字对象
- Foundation框架之数字、结构体、日期、文件类总结
- 结构体类:
- CGPoint:定义矩形原点坐标
- CGSize:定义矩形尺寸的结构体
- CGRect:同时定义矩形原点和尺寸的结构体
- NSRange:描述位置和大小范围的结构体
- NSValue:将结构体转换为对象的类
- Foundation框架之数字、结构体、日期、文件类总结
- 日期类:
- NSDate和NSCalendar:表示时间和日期的类
- Foundation框架之数字、结构体、日期、文件类总结
- 文件类:
- NSFileManager:管理文件系统的类
- Foundation框架之数字、结构体、日期、文件类总结
作者:行走少年郎
OC 知识:Foundation 框架及相关类详尽总结的更多相关文章
- OC - 7.Foundation框架的简单介绍
OC语言-07-OC语言-Foundation框架 结构体 NSRange/CGRange 用来表示一个元素在另一个元素中的范围,NSRange等价于CGRange 包含两个属性: NSUInte ...
- OC中Foundation框架之NSString、NSMutableString
创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...
- OC中Foundation框架
框架的概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的组合,以便使研发程序变的更容易在OS X下地Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 ...
- 黑马程序员——OC语言Foundation框架 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)结构体 NSRange(location length) NSPoi ...
- OC中Foundation框架之NSArray、NSMutableArray
NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/stru ...
- 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...
- iOS Foundation框架 -4.NSDate类的简单用法
NSDate为日期时间类对象,简单操作: 注意:直接NSLog输出NSDate对象,默认是以0时区为标准,因此会比北京时间少8小时 1.将Date格式转换为自定义格式的字符串格式 // 自定义Date ...
- OC中Foundation框架之NSDictionary、NSMutableDictionary
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...
随机推荐
- js中闭包和作用域
将这方面很好的一系列文章:http://www.cnblogs.com/wangfupeng1988/p/3977987.html
- 用CSS的方法如何让一个元素不可见?(面试题目)
面试中看到这个问题,自己想的不全面,下面整理下,一起学习: 一.CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应 ...
- ios 9 http
记录: <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLo ...
- Android Service不能再详细的教程
这篇包含了: Service后台服务.前台服务.IntentService.跨进程服务.无障碍服务.系统服务 几乎所有Android Service相关的东西. 前言 作为四大组件之一的Service ...
- 多张报表导出到一个多sheet页excel
业务需求: 通过勾选不同的报表名称,然后直接执行导出excel.并且这些报表需要统一导入到一个excel的多个sheet页中,并且对某些报表可能需要增加一些类似'已审核'之类的图片(展现时并没有 ...
- ubuntu 命令、linux环境变量设置
解压与压缩: tar.gz格式tar -xzvf xxx jar格式jar -xvf xxx.jar zip格式unzip xxx.zip zip -r xxx.zip xxx unarunar -e ...
- apache ftp server的外网访问问题
apache ftp server的外网访问简单配置点如下:
- The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If execu
使用sudo pip install ......的时候出现下面一段黄色的代码: The directory '/home/stone/.cache/pip/http' or its parent d ...
- ubuntu 下 mysql数据库的搭建 及 数据迁移
1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配 ...
- 远程监视jboss应用java内存的配置
前言 因为最近一个项目部署在客户那边运行一个月左右就会出现java内存溢出的问题,为了时时监控java内存的情况需要,需要远程查看服务器上java内存的一些情况.在公司模拟部署了远程监视linux下项 ...