欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS中setValue和setObject的區(qū)別詳解

 更新時(shí)間:2017年02月07日 11:49:20   作者:李永吉  
setObject:ForKey: 是NSMutableDictionary特有的;setValue:ForKey:是KVC的主要方法。接下來通過本文給大家分享iOS中setValue和setObject的區(qū)別,需要的朋友參考下

網(wǎng)上關(guān)于setValue和setObject的區(qū)別的文章很多,說的并不準(zhǔn)確,首先我們得知道:

setObject:ForKey: 是NSMutableDictionary特有的;setValue:ForKey:是KVC的主要方法

話不多說,上代碼:

- (void)viewDidLoad { 
 [super viewDidLoad]; 
 //setObject和setvalue的區(qū)別 
 NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 
 NSMutableArray *array = [NSMutableArray array]; 
 [array insertObject:@"1" atIndex:0]; 
 [array insertObject:@"2" atIndex:1]; 
 [dic setObject:[NSNull null] forKey:@"haha"]; 
 [dic setObject:[NSNull null] forKey:array]; 
 [dic setObject:[NSNull null] forKey:[NSNull null]]; 
 [dic setObject:@1 forKey:@""]; 
 [dic setObject:@"" forKey:@1]; 
 [dic setObject:nil forKey:@""]; 
 [dic setObject:@"" forKey:nil]; 
 NSLog(@"dic:%@",dic); 
 //setobject中的key和value可以為除了nil外的任何對(duì)象 
 NSLog(@"*****************"); 
 [dic removeAllObjects]; 
 NSLog(@"dic:%@",dic); 
 [dic setValue:[NSNull null] forKey:@"haha"]; 
 [dic setValue:[NSNull null] forKey:array]; 
 [dic setValue:[NSNull null] forKey:[NSNull null]]; 
 [dic setValue:@1 forKey:@""]; 
 [dic setValue:@"" forKey:@1]; 
 [dic setValue:nil forKey:@""]; 
 [dic setValue:@"" forKey:nil]; 
 [dic setValue:@"" forKey:@"hehe"]; 
 [dic setValue:array forKey:@""]; 
 NSLog(@"dic2:%@",dic); 
 //setValue中的KEY只能為字符串 value可以為nil也可以為空對(duì)象[NSNull null] 
} 

程序崩潰,原因就在這幾個(gè)警告,由代碼得出以下結(jié)論:

setobject中的key和value可以為除了nil外的任何對(duì)象

setValue中的key只能為字符串 value可以為nil也可以為空對(duì)象[NSNull null]以及全部對(duì)象

總結(jié)兩者的區(qū)別:

setObject:forked:中object是不能夠?yàn)閚il的,不然會(huì)報(bào)錯(cuò)。

setValue:forKey:中value能夠?yàn)閚il,但是當(dāng)value為nil的時(shí)候,會(huì)自動(dòng)調(diào)用removeObject:forKey方法

setValue:forKey:中key的參數(shù)只能夠是NSString類型,而setObject:forKey:的可以是任何類型

注意:setObject:forKey:對(duì)象不能存放nil要與下面的這種情況區(qū)分:

[imageDictionary setObject:[NSNullnull] forKey:indexNumber];

[NSNull null]表示的是一個(gè)空對(duì)象,并不是nil,注意這點(diǎn)

setObject:forKey:中Key是NSNumber對(duì)象的時(shí)候,如下:

[imageDictionary setObject:obj forKey:[NSNumber numberWithInt:10]];

上面說的區(qū)別是針對(duì)調(diào)用者是dictionary而言的。setObject:forKey:方法NSMutabledictionary特有的,而setValue:forKey:方法是KVC(鍵-值編碼)的主要方法。

當(dāng) setValue:forKey:方法調(diào)用者是對(duì)象的時(shí)候: setValue:forKey:方法是在NSObject對(duì)象中創(chuàng)建的,也就是說所有的oc對(duì)象都有這個(gè)方法,所以可以用于任何類。

以上所述是小編給大家介紹的iOS中setValue和setObject的區(qū)別詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • IOS數(shù)字鍵盤左下角添加完成按鈕的實(shí)現(xiàn)方法

    IOS數(shù)字鍵盤左下角添加完成按鈕的實(shí)現(xiàn)方法

    這篇文章主要介紹了IOS數(shù)字鍵盤左下角添加完成按鈕的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能實(shí)現(xiàn)類似這樣的功能,需要的朋友可以參考下
    2017-08-08
  • ios下移動(dòng)文件方法匯總

    ios下移動(dòng)文件方法匯總

    這篇文章主要給大家匯總了一下ios下移動(dòng)文件方法,從簡單到復(fù)雜,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05
  • iOS開發(fā)中實(shí)現(xiàn)一個(gè)簡單的圖片瀏覽器的實(shí)例講解

    iOS開發(fā)中實(shí)現(xiàn)一個(gè)簡單的圖片瀏覽器的實(shí)例講解

    這篇文章主要介紹了iOS開發(fā)中實(shí)現(xiàn)一個(gè)簡單的圖片瀏覽器的實(shí)例講解,代碼基礎(chǔ)傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-01-01
  • IOS實(shí)現(xiàn)展開二級(jí)列表效果

    IOS實(shí)現(xiàn)展開二級(jí)列表效果

    本文通過實(shí)例代碼向大家演示在IOS中如何實(shí)現(xiàn)展開二級(jí)列表的效果,這個(gè)功能效果很好,對(duì)于日常開發(fā)APP中很有幫助,下面一起來看看如何實(shí)現(xiàn)吧。
    2016-08-08
  • IOS自帶Email的兩種方法實(shí)例詳解

    IOS自帶Email的兩種方法實(shí)例詳解

    這篇文章主要介紹了IOS自帶Email的兩種方法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOs遷至WKWebView跨過的一些坑

    iOs遷至WKWebView跨過的一些坑

    這篇文章主要給大家介紹了關(guān)于iOs遷至WKWebView跨過的一些坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • iOS10推送教程詳解

    iOS10推送教程詳解

    這篇文章主要為大家詳細(xì)介紹了iOS10推送開發(fā)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS圖片拉伸技巧(iOS5.0、iOS6.0)

    iOS圖片拉伸技巧(iOS5.0、iOS6.0)

    這篇文章主要為大家詳細(xì)介紹了iOS圖片拉伸技巧,提供了3種圖片拉伸的解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • IOS實(shí)現(xiàn)郵箱模糊匹配的功能

    IOS實(shí)現(xiàn)郵箱模糊匹配的功能

    在一些App的訂單填寫頁,輸入用戶郵箱有個(gè)提示郵箱后綴的功能,很好用!還可以根據(jù)各個(gè)郵箱類型用戶量來做一個(gè)優(yōu)先級(jí)的匹配哦。這個(gè)功能該如何實(shí)現(xiàn)呢,下面來一起看看。
    2016-08-08
  • iOS圖片拉伸小技巧

    iOS圖片拉伸小技巧

    這篇文章主要為大家詳細(xì)介紹了iOS圖片拉伸小技巧,由淺入深的幫助大家掌握iOS圖片拉伸的相關(guān)技巧,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評(píng)論