IOS成長之路-NSDictionary和NSMutableDictionary例子微解

來源:互聯網
上載者:User
    //建立不可改變的詞典        NSDictionary * dictionary;    dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"good lucky",@"why",@"bye bye",@"how",nil];    //裡面的元素個數是奇數(不包括最後的 nil)的話是不可以的,偶數才行,因為是 id  key 一組一組對應的        //輸出詞典的數量    NSLog(@"詞典的數量= %lu",[dictionary count]);        /*得到詞典中所有的索引值的過程  NSEnumerator 用來遍曆集合中每一處索引的對象*/        //先得到裡面所有的索引值   objectEnumerator得到裡面的對象  keyEnumerator得到裡面的索引值    NSEnumerator * enumerator = [dictionary keyEnumerator];//把keyEnumerator替換為objectEnumerator即可得到value值(1)        //定義一個不確定類型的對象    id object;    //遍曆輸出    while(object = [enumerator nextObject])    {        NSLog(@"索引值為:%@",object);                //在這裡我們得到的是索引值,可以通過(1)得到,也可以通過這裡得到的索引值來得到它對應的value值        //通過NSDictionary對象的objectForKey方法來得到        //其實這裡定義objectValue這個對象可以直接用NSObject,因為我們已經知道它的類型了,id在不知道類型的情況下使用        id objectValue = [dictionary objectForKey:object];        if(objectValue != nil)        {            NSLog(@"%@所對應的value是 %@",object,objectValue);        }            }                    //建立可改變的詞典  它是動態        //需要我們初始化一個空間大小,用dictionaryWithCapacity    NSMutableDictionary * mutableDictionary = [NSMutableDictionary dictionaryWithCapacity:5];    //這裡我們給的空間大小是5,當添加的資料超過的時候,它的空間大小會自動擴大        //添加資料,注意:id key  是成對出現的    [mutableDictionary setObject:@"good lucky" forKey:@"why"];    [mutableDictionary setObject:@"bye bye" forKey:@"how"];            //輸出  不用遍曆就得到索引值和value的方法,allKeys和allValues    NSLog(@"輸出所有索引值=%@",[mutableDictionary allKeys]);    NSLog(@"輸出所有的value=%@",[mutableDictionary allValues]);    //動態體現在可以動態添加資料  現在修改索引值是why的value值,    //然後在列印就會發現value是改變了,但是NSDictionary卻不可以修改    [mutableDictionary setObject:@"good" forKey:@"why"];    NSLog(@"輸出所有索引值=%@",[mutableDictionary allKeys]);    NSLog(@"輸出所有的value=%@",[mutableDictionary allValues]);            //動態刪除    //刪除指定索引值的資料    [mutableDictionary removeObjectForKey:..];    //刪除所有資料    [mutableDictionary removeAllObjects];    

 

文章來源:http://blog.csdn.net/like7xiaoben/article/details/7526730

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.