黑马程序员 Foundation框架(续)

——- android培训java培训ios培训期待与您交流!

三、集合类

为了存储其他对象而存在

3.1 NSArray

只能存放OC对象,不能存放非OC对象类型。
不可变数组:创建时数组多少元素,永远都是拥有多少元素

创建

NSArray *arr=[NSArray array];
NSArray *array1=[NSArray arrayWithObject:类名];
//nil 元素结束标志
NSArray *array2=[NSArray arrayWithObjects:类名,类名,nil];
//快速创建
NSArray *array3=@[类名,类名,类名];
//查看元素个数
array.count;
//访问某个位置的元素
[array objectAtIndex:索引值];
array[索引值]

遍历数组
方法1

for(id obj in 数组名)
{
    //代码内容
}

方法2

[数组名 enumerateObjectUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)
{
    //id obj 表示对象
    //NSUInteger idx 表示索引值
    //BOOL *stop 表示遍历是否结束
}
]

3.2 NSMutableArray

可变数组

创建

NSMutableArray *array=[NSMutableArray arrayWithObjects:@"jack",@"rose",nil];
//添加元素
//[array addObject:对象名];
[array addObject:@"jim"];
//删除元素
//[array removeAllObjects]; 移除所有的元素
//删除指定的对象
//[array removeObject:对象名]
[array removeObject:@"jim"];
//通过索引删除元素,后面的元素的索引自动前移
//[array removeObjectAtIndex:索引值];
[array removeObjectAtIndex:2];

3.3 NSSet

数组元素没有顺序
不可变

创建

//值传递一个元素
//NSSet set1=[NSSet setWithObject:数组];
//传递多个元素
NSSet set2=[NSSet setWithObjects:@"jack",@"jim",nil];
//数组元素个数
[set2 count];
set.count;
//取值
//随机取值
[set2 anyObject];

3.4 NSMutableSet

无序,可变

创建

NSMutableSet s=[NSMutableSet set];
//添加元素
//[s addObject:对象名];
//移除元素
//1.移除所有 removeAllObjects
//2.移除特定对象 removeObject:对象名

3.5字典NSDictionary

功能:
在给定的关键字(通常是一个NSSting字符串)下存储一个数值(可以是任何类型的对象)。可以根据这个关键字查找相应的数值。
创建

//1.
NSDictionary *名称=[NSDictionary dictionaryWithObjectsAndKeys:键名,键值,nil];
//2.
NSDictionary *名称=@{键名:键值,键名:键值,}

访问

键值=字典名[键名]
id name=dictionary[@"name"];

count方法

count方法返回的是键值对的个数

3.6可变字典NSMutableDictionary

创建

NSMutableDictionary *dic=[NSMutableDictionary dictionary];
//添加键值对,这些键值对是没有顺序的
[dic setObject:@"jack" forKey:@"name"];
[dic setObject:@"北京" forKey:@"address"];
//删除
[dic removeAllObjects]//删除全部
[dic removeObjectForKey:key]//通用key名称进行删除

注意:
如果使用相同的键名,会把之前的键值覆盖,
一个字典中只能有

四、NSNumber

用来包装基本数据类型
NSNumber *n1=[NSNumber numberWithInt:10];//将10包装到NSNumber

将基本数据类型包装到NSNumber中之后,可以通过value获得

-(char)charValue;
-(int)intValue;
-(float)floatValue;
-(BOOL)boolValue;
-(NSString)stringValue;

五、总结

1.Foundation框架是其他ios框架的基础
2.Foundation框架包含了很多开发中常用的数据类型:结构体、枚举、类
3.使用Foundation框架,需要在引用#import<.Foundation/Foundation.h>
4.集合类:存放的都是OC对象元素,非OC对象不能存储
5.集合类:分为可变和不可变
6.有序:NSArray、NSMutableArray
7.无序:NSSet、NSMutableSet、NSDectionary、NSMutableDectionary
8.NSNumber:将基本数据类型包装成对象
9.NSValue:将复杂的数据类型包装成对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值