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