首页 > 代码库 > 黑 马 程 序 员_视频学习总结<Objective-C>----05 Foundation

黑 马 程 序 员_视频学习总结<Objective-C>----05 Foundation

 ---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

一、Foundation框架—结构体

1.基本知识

Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。

如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。

即#import<foundation/foundation.h>

补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。

 

2.常用的结构体介绍及简单使用

常用的结构体:

 

1>NSRang的基本使用

 

创建变量

 

2>NSPoint/CGPoint的使用

 

3>NSSize/CGSize的使用

 

4>NSRect/CGRect的使用

 

常规的使用方式:

在开发中,想要验证结构体中属性的值,应该如何打印?

 

利用框架函数把相应的结构体转变成字符串,再直接打印字符串即可

 

5>Foundation框架中一些经常用到的结构体函数

二、Foundation框架—字符串

1.Foundation框架中一些常用的类

字符串型:

NSString:不可变字符串

NSMutableString:可变字符串

集合型:

1>

NSArray:OC不可变数组

NSMutableArray:可变数组

2>

NSSet:

NSMutableSet:

3>

NSDictiorary

NSMutableDictiorary

其它:

NSDate

NSObject

2.NSString和NSMutableString的使用与注意

1>6种创建字符串的形式

 

2>使用注意

(1)字符串的导入导出

 

(2)类方法

 

3>NSMutableString的使用与注意

 

三、Foundation框架—集合

1、NSArray和NSMutableArray

1>NSArray不可变数组

(1)NSArray的基本介绍

NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。

C语言数组有一个缺点即数组中只能存放同种数据类型的元素。

OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。

(2)NSArray的创建

 

(3)NSArray的访问

 (4)NSArray的遍历

数组的遍历有以下几种方式:

首先创建一个数组

 

第一种方法:使用for循环遍历

 

Block遍历的深入研究:

每拿到一个元素,就传递给obj,就会调用一次block,并且把当前的元素和索引位置当做参数传递给block。

注意1:break只使用在两种场合,即switch和循环结构中。

注意2:stop参数用来停止遍历,其值若为YES,则停止。

2>NSMutableArray可变数组

(1)NSMutableArray的基本使用

注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。

 

2、NSSet和NSMutableSet

1>NSSet不可变集合

基本使用:

 

2>NSMutableSet可变集合

基本使用:

 

3>NSSet和NSArray的对比

(1)共同点:

1)都是集合,都能够存放多个对象

2)只能存放oc对象,不能存放非oc对象类型(如int等基本数据类型和结构体,枚举等)。

3)本身都不可变,都有一个可变的子类。

(2)不同点:

1)NSArray有顺序,NSSet没有顺序

3、NSDictionary和NSMutableDictionary

1>NSDictionary不可变字典

(1)介绍

现实中的字典:根据索引找到具体的内容

OC中的NSDictionary:根据key找到value。里面存储的东西都是键值对。

(2)NSDictionary的创建

 

注意:快速创建字典是编译器特性。

(3)NSDictionary的访问

 

(4)NSDictionary的遍历

 

2>NSMutableDictionary可变字典

(1)NSMutableDictionary的基本使用

 

(2)NSMutableDictionary的使用注意

 

注意:这种快速创建的方式只适用于不可变字典。

 

 

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

详细请查看:www.itheima.com