溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發(fā)OC基礎:OC字典NSDictionary以及NSMutableDictionary基本方法的使用

發(fā)布時間:2020-05-23 13:19:31 來源:網(wǎng)絡 閱讀:2770 作者:winann 欄目:移動開發(fā)

因為OC中的字典比較簡單,掌握基本的用法就可以實現(xiàn)大部分的開發(fā),所以本文的NSDictionary和NSMutableDictionary的方法介紹篇幅很短,全部的源代碼如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        //1.創(chuàng)建一個NSDictionary對象,用來存放name:zhangsan sex:girl age:23
        NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan", @"name", @"girl", @"sex", [NSNumber numberWithInteger:23], @"age", nil];
        NSLog(@"%@", dic1);
        
        //2.計算字典元素個數(shù)
        NSUInteger count = [dic1 count];
        NSLog(@"count = %lu", count);
        
        //3.獲取字典的所有key
        NSArray *keys = [dic1 allKeys];
        NSLog(@"%@", keys);
        
        //4.獲取所有的value
        NSArray *values = [dic1 allValues];
        NSLog(@"%@", values);
        
        //5.根據(jù)key獲得對應的value
        NSNumber *age = [dic1 objectForKey:@"age"];
        NSLog(@"age = %@", age);
        NSString *name = [dic1 objectForKey:@"name"];
        NSLog(@"name : %@", name);
        
        //6.快速遍歷(快速枚舉)
        //對于字典快速遍歷時,獲取到的是key,然后獲取到key之后通過objectForKey:獲取key對應的value
        for (NSString *key in dic1) {
            NSLog(@"%@ = %@", key, [dic1 objectForKey:key]);
        }
        
        
        //可變字典:NSMutableDictionary
        //1.創(chuàng)建一個NSMutableDictionary對象,使用initWithObjectsAndKeys初始化方法
        NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"lisi", @"name", @"girl", @"sex", [NSNumber numberWithInteger:20], @"age", nil];
        
        //2.添加一個條目(字典里面添加元素)
        //給dic2添加score:90.5條目
        [dic2 setObject:[NSNumber numberWithFloat:90.5] forKey:@"score"];
        NSLog(@"%@", dic2);
        
        
        //setObject:forKey:當指定的key在字典中存在時,則修改key所對應的value,如果給定的key不是字典中的key,則向字典中添加一個條目:key以及key對應的value
        
        //3.修改條目
        //將dic2的年齡改為30.
        [dic2 setObject:[NSNumber numberWithInteger:30] forKey:@"age"];
        NSLog(@"%@", dic2);
        
        //4.刪除條目
        //(1)將dic2的年齡移除掉
        [dic2 removeObjectForKey:@"age"];
        NSLog(@"dic2 : %@", dic2);
        
        //(2)刪除dic2中的所有條目
        [dic2 removeAllObjects];
        NSLog(@"dic2 : %@", dic2);
        
        //將dic2的內(nèi)容復制到dic3中
        NSMutableDictionary *dic3 = [[NSMutableDictionary alloc] init];
        [dic3 setDictionary:dic2];
        NSLog(@"dic3 : %@", dic3);
        
        //字典的特點
        //1.字典是一個無序的集合;
        //2.字典元素是通過一對鍵值對,也就是一個條目,一個key對應一個value,但是一個value可以對應多個key;
        //3.字典取元素,通過key來得到所對應的value;
    }
    return 0;
}



代碼中的注釋已經(jīng)解釋的很清楚了,可以根據(jù)自己的需要查找相應的方法,在下面一定要多練習。需要注意的是一個key只能對應一個value,而多個key可以對應一個value。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI