Objective-C基礎之數組

前言

簡單的總結一下在學習Objective-C過程中對數組的一些理解

正文

NSArray

NSArray有兩種限制

  1. 它只能存儲Objective-C的對象,而不能存儲原始的C語言數據類型
  2. 它不能存儲nil

數組創建

數組字面量

NSArray* array = @[@"first",@"second"];

在[]外面的“@”表示這個數組類型是屬於Objective-C類型的。裏面的”@”表示字符串屬於Objective-C類型,因爲NSArray不能存儲原始的C語言數據類型;

類方法創建

NSArray* array = [NSArray arrayWithObjects: @"first",@"second",nil];

上面以逗號隔開的對象列表初始化數組,在列表結尾nil表示的是列表結束的意思(這就是不能再數組中存儲nil的一個原因)

數組查詢

索引查詢

-(void)searchArray:(NSArray*) arry {
    //索引遍歷
    NSLog(@"下面是索引比那裏");
    NSMutableString *content = [NSMutableString stringWithCapacity:10];
    for(int index = 0; index < [arry count]; index++) {
        [content appendFormat:@"這是第%d元素:%@ ",index,arry[index]];
    }
    NSLog(@"%@",content);
}

枚舉查詢

-(void)searchArray:(NSArray*) arry {
    //枚舉遍歷
    NSLog(@"下面是枚舉遍歷");
    NSEnumerator *interator = [arry objectEnumerator];
    id temp;
    while((temp = [interator nextObject])) {
        NSLog(@"%@",temp);
    }
}

快速枚舉

在Objective-C 2.0 提供了快速枚舉

    for(NSString* string in array) {
        //array表示數組
        //string表示數組裏面的內容
    }

代碼塊查詢

apple添加了一個能在NSArray中通過代碼塊枚舉對象的方法

[array enumerateObjectsUsingBlock:(void(^)(id obj,NSUInteger idx,BOOL* stop) 
    //obj表示的就是array遍歷出來的類型
}]

NSMutableArray

它是可變的,而NSArray創建好以後就不能改變,這個在使用過程中多多體會

結束語

大體功能是瞭解了,文檔裏面提供的api還不是很熟悉,用到時多多看文檔,come on~
發佈了88 篇原創文章 · 獲贊 29 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章