OC的Foundation框架2

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 则遍历时打印的对象 会按照你的描述方法打印
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章