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

首頁 > 系統 > iOS > 正文

Objective-C中NSNumber與NSDictionary的用法簡介

2019-10-21 18:57:17
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Objective-C中NSNumber與NSDictionary的用法簡介,雖然Objective-C即將不再是iOS的主流開發語言...well,需要的朋友可以參考下
 

NSNumber的常用方法

在Objective-c中有int的數據類型,那為什么還要使用數字對象NSNumber?這是因為很多類(如NSArray)都要求使用對象,而int不是對象。
NSNumber就是數字對象我們可以使用NSNumber對象來創建和初始化不同類型的數字對象。
NSNumber
   + (NSNumber *)numberWithInt:(int)value;
   + (NSNumber *)numberWithDouble:(double)value;
   - (int)intValue;
   - (double)doubleValue;
   .....................(對于每個基本類型,類方法都為這它分配了一個NSNumber對象,并將其設置為指定的值,這些方法都是以numberWith開始的,之后是類型,如numberWithFloat,numberWithLong,numberWithInteger.....)
包裝后取出來的方法如下:
下面就拿int做個demo:

復制代碼代碼如下:

void number() {  
    // 將int類型的10 包裝成 一個NSNumber對象  
    NSNumber *number = [NSNumber numberWithInt:10];  
    NSLog(@"number=%@", number);  
      
    NSMutableArray *array = [NSMutableArray array];  
    // 添加數值到數組中  
    [array addObject:number];  
      
    // 取出來還是一個NSNumber對象,不支持自動解包(也就是不會自動轉化為int類型)  
    NSNumber *number1 = [array lastObject];  
      
    // 將NSNumber轉化成int類型  
    int num = [number1 intValue];  
    NSLog(@"num=%i", num);  

 

NSDictionary一些常用用法

復制代碼代碼如下:

NSArray * skyAArrays = [NSArray arrayWithObjects:@"A天空1號",@"A天空2號",@"A天空3號",nil];
    NSArray * skyBArrays = [NSArray arrayWithObjects:@"B天空1號",@"B天空2號",@"B天空3號",nil];
    NSArray * skyCArrays = [NSArray arrayWithObjects:@"C天空1號",@"C天空2號",@"C天空3號",nil];
    
    // NSArray * skyArray = [NSArray arrayWithObjects:skyAArrays,skyBArrays,skyCArrays, nil];
    
   //字典中所有的key
    NSArray * keys = [NSArray arrayWithObjects:@"name",@"sex",@"age",nil];
   //字典中所有跟key對應的value
    NSArray * values = [NSArray arrayWithObjects:@"liuhui",@"男",[NSNumbernumberWithInt:36],nil];
   //創建字典對象方法1
    NSDictionary * myDic = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
    NSLog(@"my dic = %@",myDic);
   // 創建字典對象方法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取出一個個key
    NSLog(@"%@",[yourDic allKeys]);
    NSLog(@"%@",[yourDic allValues]);
    
   //添加數據(setObject 一般沒有一種key才添加,有同名的key而用這種方法,會覆蓋掉),注意:id key  是成對出現的  
    [mutableDictionary setObject:@"good lucky"forKey:@"why"];  
    [mutableDictionary setObject:@"bye bye" forKey:@"how"]; 

 


   //刪除指定鍵值的數據  
    [mutableDictionary removeObjectForKey:..];  
   //刪除所有數據  
    [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);
    }



注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米易县| 西盟| 天祝| 武定县| 锡林郭勒盟| 咸丰县| 宜州市| 丰县| 内乡县| 花莲市| 江山市| 禄丰县| 苗栗县| 民丰县| 西和县| 宣汉县| 金塔县| 湄潭县| 镇平县| 长丰县| 工布江达县| 门源| 东辽县| 白河县| 建平县| 揭阳市| 上虞市| 肃宁县| 兰考县| 富民县| 贵南县| 白山市| 旅游| 陕西省| 张家界市| 上思县| 仁化县| 米脂县| 丹巴县| 仁化县| 尉氏县|