1.数组的基本概念
数组中不可以存放基本数据类型,只能存放类的实列(对象)
若需要存放 基本数据类型NSNumber封装
若需要存放 结构体NSValue封装
分为 不可变数组NSArray 可变数组NSMutableArray
NSArray * array1=[NSArray arrayWithObjects:@"one",@"two",nil];
NSArray * array2=[NSArray arrayWithArray:array1];
2.获取数组中的元素个数
NSInteger count=[array count];
3.更具下标访问对象
NSString *firstObj=[array objectAtIndex:0];
4.在原来的数组上追加对象,返回一个新的数组对象
NSArray *addArray=[array arrayByAddingObject:@"ddd"];
5.用指定的字符串将数组中的元素链接起来
NSString * arrayStr=[array componentsJoinedByString:@","];
6.数组中是否包含某对象
bool isContain=[array containsObject:@"bbb"];
7.查询指定对象在数组中的元素,如果没此元素,返回NSNotFound
NSInteger index=[array indexOfObject:@"ccc"];
8.获取数组中最后一个元素
NSString *lastString=[array lastObject];
=======================================================
可变数组的常用方法
NSMutableArray *mutableArray=[NSMutableArray arrayWithCapacity:5];//初始的元素个数为5个
1.添加一个元素
[mutableArray addObject:@"aa"];
2.插入元素
[mutableArray insetObject:@"cc" atIndex:0];
3.移除最后一个元素
[mutableArray removeLastObject];
4.移除指定元素
[mutableArray removeObject:@"aa"];
5.移除指定下标元素
[mutableArray removeObjectAtIndex:0];
6.向数组中添加数组
[mutableArray addObjectsFromArray:array];
7.替换指定的下标元素
[mutableArray replaceObjectAtIndex:0 withObject:@"replace"];
8.移除所有对象
[mutableArray removeAllObjects];
=========================================================
遍历数组
//
1.常规方法
NSArray *array=[NSArray arrayWinthObject:@"a",@"b",@"c"nil];
int lenth=[array count]; 一般取long 或者NSInteger
for(int i=0;i<length;i++)
{
NSString *element=[array objectAtIndex:i];
NSLog(@"%@",element);
}
2.快速枚举
for(NSString *string in array)
NSLog(@"found %@",string);
for(id string in array)
NSLog(@"found %@",string);//不确定数组元素的类型时,可以选择用id
字典 NSDictionary NSMutableDictionary
集合 NSSet NSMutableSet
日期 NSDate
@try @catch @throw @finally
注:创建时两种方法 一种是初始化方法 二种是对象方法调用 三种是直接写出具体值
有时要调用到NSNumber NSValue 进行转换
注意字典与数组
NSMutableArray *array=[NSMutableArray arrayWithObjects:p1,p2,p3,nil];
记住 nil一定不能省掉;
集合与数组最大的区别是:NSSet 是无序的没有下标 NSSet不可以可以重复存入同一个对象
=================================================
NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"CoreJava",@"Tom",@"Oracle",@"John",@"Oracle",@"Susan",
@"JDBC",@"Jerry",@"Unix",@"Jim",@"JSP",@"Kevin",@"JSP",@"Lucy",nil ];
初始化 一个是key 一个是object
快速遍历:
for(id key in dic)
{
id obj=[dic objectForKey:key];
NSLog(@"%@ %@",key,obj);
}
普通遍历
NSArray *keys=[dic1 allKeys];
for(int i=0;i<keys.count;i++)
{
NSString *key=[keys objectAtIndex:i];
NSArray *name=[dic objectForKey:key];
NSLog(@"key=%@,value=%@",key,names);
}
一般对象是NSString id要换成 NSString;
编译器4.0之后新增的语法
NSDictionary *dic3=@{
@"zhang":array1,
@"li":array2
};
key获取Value
NSArray *array=dic3[@"zhang"];
集合类似
字典里的key是不能重复的,默认会覆盖掉
对象自定义description 则遍历时打印的对象 会按照你的描述方法打印
OC的Foundation框架2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
OC的Foundation框架1
逝华_浮梦
2020-02-24 08:31:12
OC面向对象的三大特点
逝华_浮梦
2020-02-24 08:31:12
OC的Foundation框架1
逝华_浮梦
2020-02-24 08:31:12
OC面向对象的三大特点
逝华_浮梦
2020-02-24 08:31:12
OC中对象的常用方法
逝华_浮梦
2018-08-28 06:52:14