最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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外的任何對象 
 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也可以為空對象[NSNull null] 
} 

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

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

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

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

setObject:forked:中object是不能夠為nil的,不然會報錯。

setValue:forKey:中value能夠為nil,但是當value為nil的時候,會自動調用removeObject:forKey方法

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

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

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

[NSNull null]表示的是一個空對象,并不是nil,注意這點

setObject:forKey:中Key是NSNumber對象的時候,如下:

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

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

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

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

相關文章

  • ios多種語言的本地化思路

    ios多種語言的本地化思路

    ios程序實現(xiàn)多種語言的本地化辦法,最近要對一款游戲進行多語言本地化,在網(wǎng)上找了一些方案,加上自己的一點點想法整理出一套方案和大家分享!
    2015-05-05
  • iOS指紋識別的簡單應用

    iOS指紋識別的簡單應用

    這篇文章主要為大家詳細介紹了iOS指紋識別的簡單應用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 談談iOS開發(fā)之JSON格式數(shù)據(jù)的生成與解析

    談談iOS開發(fā)之JSON格式數(shù)據(jù)的生成與解析

    JSON格式取代了xml給網(wǎng)絡傳輸帶來了很大的便利,本篇文章主要介紹了iOS開發(fā):對象直接轉化成JSON詳解,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • iOS開發(fā)之Objective-c的Runtime理解指南

    iOS開發(fā)之Objective-c的Runtime理解指南

    這篇文章主要介紹了iOS開發(fā)之Objective-c的Runtime理解指南的相關資料,需要的朋友可以參考下
    2022-08-08
  • iOS開發(fā)教程之識別圖片中二維碼功能的實現(xiàn)

    iOS開發(fā)教程之識別圖片中二維碼功能的實現(xiàn)

    長按識別二維碼這個功能相信對大家來說都不陌生,最近工作中就遇到了這個需求,所以下面這篇文章主要給大家介紹了關于利用iOS識別圖片中二維碼的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • iOS開發(fā) 正則運算詳細介紹

    iOS開發(fā) 正則運算詳細介紹

    這篇文章主要介紹了iOS開發(fā) 正則運算的相關資料,需要的朋友可以參考下
    2016-09-09
  • 詳解iOS App開發(fā)中UIViewController的loadView方法使用

    詳解iOS App開發(fā)中UIViewController的loadView方法使用

    這篇文章主要介紹了詳解iOS App開發(fā)中UIViewController的loadView方法使用,講解了訪問view屬性時loadView方法的調用及使用loadView時的一些注意點,需要的朋友可以參考下
    2016-03-03
  • IOS百度地圖導航開發(fā)功能實現(xiàn)簡述

    IOS百度地圖導航開發(fā)功能實現(xiàn)簡述

    百度地圖導航非常實用,那么基于代碼是如何實現(xiàn)的呢,下面通過本文給大家介紹IOS百度地圖導航開發(fā)功能實現(xiàn)簡述,需要的朋友可以參考下本文
    2016-03-03
  • iOS 獲得現(xiàn)在的時間代碼

    iOS 獲得現(xiàn)在的時間代碼

    本文通過實例代碼給大家介紹了iOS 獲得現(xiàn)在的時間的方法,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-06-06
  • iOS16使用SwiftUI Charts創(chuàng)建折線圖實現(xiàn)實例

    iOS16使用SwiftUI Charts創(chuàng)建折線圖實現(xiàn)實例

    這篇文章主要為大家介紹了iOS16使用SwiftUI Charts創(chuàng)建折線圖實現(xiàn)實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論

平湖市| 广河县| 石棉县| 仁化县| 拜泉县| 烟台市| 景洪市| 丰台区| 翁牛特旗| 灵璧县| 崇州市| 观塘区| 新干县| 昌邑市| 博兴县| 连江县| 启东市| 扶绥县| 平果县| 朔州市| 定兴县| 益阳市| 密山市| 湛江市| 高台县| 邻水| 班戈县| 许昌市| 大名县| 百色市| 拉孜县| 湖州市| 沛县| 沧州市| 西乌珠穆沁旗| 巴彦淖尔市| 常州市| 当涂县| 东乌珠穆沁旗| 龙门县| 河东区|