国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

NSNumber與NSDictionary的區(qū)別

2020-02-19 15:55:50
字體:
供稿:網(wǎng)友

  今天小編給大家詳細(xì)解說一下NSNumber與NSDictionary的區(qū)別以及使用方法,感興趣的朋友跟小編一起來了解一下吧!

  NSNumber的常用方法

  在Objective-c中有int的數(shù)據(jù)類型,那為什么還要使用數(shù)字對(duì)象NSNumber?這是因?yàn)楹芏囝?如NSArray)都要求使用對(duì)象,而int不是對(duì)象。

  NSNumber就是數(shù)字對(duì)象我們可以使用NSNumber對(duì)象來創(chuàng)建和初始化不同類型的數(shù)字對(duì)象。

  NSNumber

  + (NSNumber *)numberWithInt:(int)value;

  + (NSNumber *)numberWithDouble:(double)value;

  - (int)intValue;

  - (double)doubleValue;

  .....................(對(duì)于每個(gè)基本類型,類方法都為這它分配了一個(gè)NSNumber對(duì)象,并將其設(shè)置為指定的值,這些方法都是以numberWith開始的,之后是類型,如numberWithFloat,numberWithLong,numberWithInteger.....)

  包裝后取出來的方法如下:

  下面就拿int做個(gè)demo:

  復(fù)制代碼 代碼如下:

  void number() {

  // 將int類型的10 包裝成 一個(gè)NSNumber對(duì)象

  NSNumber *number = [NSNumber numberWithInt:10];

  NSLog(@"number=%@", number);

  NSMutableArray *array = [NSMutableArray array];

  // 添加數(shù)值到數(shù)組中

  [array addObject:number];

  // 取出來還是一個(gè)NSNumber對(duì)象,不支持自動(dòng)解包(也就是不會(huì)自動(dòng)轉(zhuǎn)化為int類型)

  NSNumber *number1 = [array lastObject];

  // 將NSNumber轉(zhuǎn)化成int類型

  int num = [number1 intValue];

  NSLog(@"num=%i", num);

  }

  NSDictionary一些常用用法

  復(fù)制代碼 代碼如下:

  NSArray * skyAArrays = [NSArray arrayWithObjects:@"A天空1號(hào)",@"A天空2號(hào)",@"A天空3號(hào)",nil];

  NSArray * skyBArrays = [NSArray arrayWithObjects:@"B天空1號(hào)",@"B天空2號(hào)",@"B天空3號(hào)",nil];

  NSArray * skyCArrays = [NSArray arrayWithObjects:@"C天空1號(hào)",@"C天空2號(hào)",@"C天空3號(hào)",nil];

  // NSArray * skyArray = [NSArray arrayWithObjects:skyAArrays,skyBArrays,skyCArrays, nil];

  //字典中所有的key

  NSArray * keys = [NSArray arrayWithObjects:@"name",@"sex",@"age",nil];

  //字典中所有跟key對(duì)應(yīng)的value

  NSArray * values = [NSArray arrayWithObjects:@"liuhui",@"男",[NSNumbernumberWithInt:36],nil];

  //創(chuàng)建字典對(duì)象方法1

  NSDictionary * myDic = [[NSDictionary alloc]initWithObjects:values forKeys:keys];

  NSLog(@"my dic = %@",myDic);

  // 創(chuàng)建字典對(duì)象方法2

  NSDictionary * yourDic = [[NSDictionary alloc] initWithObjectsAndKeys:skyAArrays,@"A",skyBArrays,@"B",skyCArrays,@"C",nil];

  NSLog(@"your dic = %@",yourDic);

  NSLog(@"%@",[yourDic objectForKey:@"A"]);

  // - (NSArray *)allKeys; 返回的是 NSArray類型,方便用 objectAtIndex取出一個(gè)個(gè)key

  NSLog(@"%@",[yourDic allKeys]);

  NSLog(@"%@",[yourDic allValues]);

  //添加數(shù)據(jù)(setObject 一般沒有一種key才添加,有同名的key而用這種方法,會(huì)覆蓋掉),注意:id key 是成對(duì)出現(xiàn)的

  [mutableDictionary setObject:@"good lucky"forKey:@"why"];

  [mutableDictionary setObject:@"bye bye" forKey:@"how"];

  //刪除指定鍵值的數(shù)據(jù)

  [mutableDictionary removeObjectForKey:..];

  //刪除所有數(shù)據(jù)

  [mutableDictionary removeAllObjects];

  //字典的普通遍歷(無序)

  for (int i =0; i

  NSLog(@"key = value %@ = %@",[[yourDic allKeys] objectAtIndex:i],[yourDic objectForKey:[[yourDic allKeys]objectAtIndex:i]]);

  }

  // 字典的快速遍歷 取出來的obj一定是key

  for (id obj in yourDic) {

  NSLog(@"%@",obj);

  id value = [yourDic objectForKey:obj];

  NSLog(@"%@",value);

  }

  以上就是NSNumber與NSDictionary的區(qū)別以及使用方法,想必都了解了吧,更多相關(guān)內(nèi)容請(qǐng)繼續(xù)關(guān)注武林技術(shù)頻道。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 威远县| 淮阳县| 民县| 宁远县| 攀枝花市| 诸城市| 永平县| 徐水县| 文化| 府谷县| 深水埗区| 乃东县| 仙居县| 木兰县| 新泰市| 荔波县| 青铜峡市| 台北市| 榆社县| 汽车| 靖边县| 德保县| 永丰县| 香港| 洛南县| 西盟| 尉氏县| 华安县| 临武县| 恭城| 健康| 共和县| 水城县| 德庆县| 高台县| 临沧市| 古丈县| 革吉县| 明光市| 沽源县| 和龙市|