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

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

Objective-C中NSNumber與NSDictionary的用法簡(jiǎn)介

2020-07-26 03:33:53
字體:
供稿:網(wǎng)友

NSNumber的常用方法

在Objective-c中有int的數(shù)據(jù)類型,那為什么還要使用數(shù)字對(duì)象NSNumber?這是因?yàn)楹芏囝悾ㄈ鏝SArray)都要求使用對(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 < [yourDic count]; 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);
    }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌海市| 洪雅县| 南昌县| 类乌齐县| 隆德县| 宣武区| 邛崃市| 磐石市| 马山县| 祁门县| 叙永县| 大渡口区| 临漳县| 龙口市| 神池县| 彰武县| 潍坊市| 奉化市| 兴化市| 临海市| 信宜市| 平顶山市| 肥西县| 博爱县| 清水河县| 娄烦县| 黄梅县| 三台县| 黑水县| 西华县| 重庆市| 德格县| 三门峡市| 兰西县| 进贤县| 甘孜县| 罗平县| 罗平县| 饶平县| 八宿县| 镇远县|