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对象 @ ...
随机推荐
- 手动解除联合的ArcGIS Server
ArcGIS Server可以通过和Portal联合,组建WebGIS系统. 假如已经联合的ArcGIS Server已经无法访问,例如服务器宕机了,或者网络断开了.需要手动解除联合的ArcGIS S ...
- OpenGL学习--03--矩阵
Model--View--Projection 1.tutorial03.cpp // Include standard headers #include <stdio.h> #inclu ...
- PHP自定义函数&数组
<?php//生成随机数 和 时间函数//echo rand();//echo "<br>";//echo rand(0,10);//echo time();// ...
- setUserVisibleHint-- fragment真正的onResume和onPause方法
现在越来越多的应用会使用viewpager+fragment显示自己的内容页,fragment和activity有很多共同点,如下图就是fragment的生命周期 但是fragment和activit ...
- linux 目录、文件名、logout、exit、shutdown、reboot、init 0、init 6、runlevel
/dev 设备目录/boot 系统启动目录/etc 配置文件保存目录/media./mnt./misc 挂载目录,实际可以自己随便定义一个目录作为挂载目录/opt 安装第三方软件位置,但现在 ...
- 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 【项目管理】git和码云的使用
缘起 说了那么多关于git和码云相关的事,一直都没给大伙讲解这个码云究竟是个啥玩意儿. 今天就给大伙说说如何通过git和码云搭建属于自己的代码库. 码云 码云(Git@OSC)是开源中国社区团队推出的 ...
- Entity Framework之DB First方式
EF(Entity Framework的简称,下同)有三种方式,分别是:DataBase First. Model First和Code First. 下面是Db First的方式: 1. 数据库库中 ...
- [控件] 心形加载的view
心形加载的view 效果: 素材图片: 源码: StarView.h 与 StarView.m // // StarView.h // Star // // Created by XianMingYo ...
- python 下字符串格式时间比较
python 下有多个有关时间的模块,分别是time.datetime.calendar,今天重点讨论下time写法. 其中time模块,主要有以下方法: ltime=time.time() 获取当前 ...