黑馬程式員_ Objective-c 之Foundation筆記(二)

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   ar   for   strong   

NSArray

 

NSArray的建立

NSArray *array = [NSArray arrayWithObject:@“jack”]   建立單個元素

 

NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil] 建立多個元素

 

快速建立一個NSArray對象

 NSArray *array4 = @[@"jack", @"rose", @"4324324"]

 

[array.count ]   計算數組元素的個數

 

array3[0]

[array3 objectAtIndex:1]  訪問數組的元素

 

注意:OC數組不能存放nil值,nil是數組的結束標記

     OC數組只能存放OC對象、不能存放非OC物件類型,比如int、struct、enum等

  NSArray *array = [NSArray array] 這個數組永遠是空數組

 

遍曆數組

 

方法一、

Person *p = [[Person alloc] init];        NSArray *array = @[p, @"rose", @"jack"];           for (int i = 0; i<array.count; i++)       {            NSLog(@"%@", array[i]);       }

 

 

方法二、

 

    

 id obj代表著數組中的每一個元素    int i = 0;        for (id obj in array)        {            // 找出obj元素在數組中的位置            NSUInteger i = [array indexOfObject:obj];                NSLog(@"%ld - %@", i, obj);            //i++;                if (i==1)            {                break;            }        }

 

 

方法三、

 

 

   

 [array enumerateObjectsUsingBlock:          // 每遍曆到一個元素,就會調用一次block     // 並且當前元素和索引位置當做參數傳給block     ^(id obj, NSUInteger idx, BOOL *stop)     {         NSLog(@"%ld - %@", idx, obj);                           if (idx == 0)         {             // 停止遍曆             *stop = YES;         }              }];

 

 

NSMutableArray

 

建立數組

 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]

 

 添加元素

    [array addObject:[[Person alloc] init]];

    

    [array addObject:@"jack"];

 

 刪除元素

    [array removeAllObjects]

 刪除指定的對象

    [array removeObject:@"jack"];

    [array removeObjectAtIndex:0];

 

NSSet

 

建立

 NSSet *s = [NSSet set]

    

 NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil]

 

隨機拿出一個元素

 NSString *str =  [s2 anyObject];

    

 NSLog(@"%@", str);

 

NSMutableSet

 

 NSMutableSet *s = [NSMutableSet set];

    

 添加元素

  [s addObject:@"hack"];

    

 刪除元素

 [s removeObject:<#(id)#>];

 

 

NSSet和NSArray的對比

 1 共同點

  1) 都是集合,都能存放多個OC對象

  2)只能存放OC對象,不能存放非OC物件類型(基礎資料型別 (Elementary Data Type):int、char、float等,結構體,枚舉)

  3)本身都不可變,都有一個可變的子類

 

 2 不同點

  NSArray有順序,NSSet沒有順序

 

NSDictionary

 

字典都是由索引(key)和文字內容組成的(value)

 

建立不可變字典

 

方式一、

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];

    

方式二、    

NSArray *keys = @[@"name", @"address"];

NSArray *objects = @[@"jack", @"北京"];

    

NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

    

方式三、    

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:

@"jack", @"name",

@"北京", @"address",

@"32423434", @"qq", nil];

    

快速建立一個字典    

NSDictionary *dict = @{@"name" : @"jack", @"address" : @"北京"};

 

取出字典某個對象

id obj = [dict objectForKey:@"name"]

 

快速取出字典某個對象

id obj = dict[@"name"]

 

可變字典 NSMutableDictionary

 

NSMutableDictionary *dict = [NSMutableDictionary dictionary]

 

添加索引值對

[dict setObject:@"jack" forKey:@"name"];

 

移除索引值對

[dict removeObjectForKey:@“name”];

 

遍曆字典

 

方法一、

 

      

  NSArray *keys = [dict allKeys];            for (int i = 0; i<dict.count; i++)        {            NSString *key = keys[i];            NSString *object = dict[key];                    NSLog(@"%@ = %@", key, object);        }    

 

方法二、

 

 

   

 [dict enumerateKeysAndObjectsUsingBlock:     ^(id key, id obj, BOOL *stop) {         NSLog(@"%@ - %@", key, obj);                  // *stop = YES;     }];

黑馬程式員_ Objective-c 之Foundation筆記(二)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.