zoukankan      html  css  js  c++  java
  • Object-C-NSDictionary

    存储对象都必须是id(对象类型)不能使基础类型

    NSDictionary *scores=[[NSDictionary alloc]initWithObjectsAndKeys:@"89",@"english",@"70",@"computer",nil];

    *scores=[[NSDictionary alloc]initWithObjectsAndKeys:[NSNumber numberWithInt:89],@"english"];

    scores=[NSDictionary dictionaryWithObjectsAndKeys:]用法与initWithObjectsAndKeys;

    NSNumber *englishScore=[scores objectForKey:@"english"];

    集合的遍历

    方法一

    for(NSString *key int socres)

    {

        // 通过每个元素的key访问value

        NSLog(@"%@:%d",key,[[score objetForKey:key] intValue]);

    }

    方法二

    [socres enumerateKeysAndObjectsUsingBloc:^(id key, id obj,BOOL *stop)

    {

       NSNumber *num=(NSNumber *)obj;

        NSLog(@"%@:%d",key,[num intValue]);

    }

    方法三

    NSArray *keysArray = [scores allKeys];

    for(int i=0; i<[scores count]; i++)

    {

         NSLog(@"%@:%d",[keysArray objectAtIndex:i);

    NSLog(@"")----;

    }

    字典排序

    NSArray *keysArray=[scores keysSortedByValueUsingSelector:@selector(compare:)];

     1 字典:
     2         //key 一般使用字符串
     3         //value 可以使用任意对象类型
     4 //        NSDictionary *scores = [[NSDictionary alloc]initWithObjectsAndKeys:@"89",@"english",@"70",@"computer", nil];
     5 //
     6 //        NSLog(@"%@",scores);
     7         
     8         NSDictionary *scores2=[NSDictionary dictionaryWithObjectsAndKeys:
     9         [NSNumber numberWithInt:89],@"english",
    10         [NSNumber numberWithInt:92],@"maths",
    11         [NSNumber numberWithInt:70],@"computer"
    12                                , nil];
    13         
    14 //        NSLog(@"%ld",[scores2 count]);
    15 //        NSLog(@"%@",scores2);
    16         NSNumber *englishScores = [scores2 objectForKey:@"english"];
    17         NSLog(@"%@",englishScores);
    18         NSLog(@"%d",[englishScores intValue]);
    19 //        //遍历方法1:for in
    20         for (NSString *key in scores2) {
    21             //通过每个元素的key访问value
    22             NSLog(@"%@:%d",key,[[scores2 objectForKey:key] intValue]);
    23         }
    24 //         //遍历方法2:for
    25         NSArray *keysArray = [scores2 allKeys];
    26         for (int i=0; i<[scores2 count]; i++) {
    27             NSString *key = [keysArray objectAtIndex:i];
    28             NSLog(@"%@:%d",key,[[scores2 objectForKey:key]intValue]);
    29         }
    30 //
    31         //排序
    32         NSArray *keys = [scores2 keysSortedByValueUsingSelector:@selector(compare:)];
    33         NSLog(@"%@",keys);
    34     }
    35     return 0;
    View Code

    ie

  • 相关阅读:
    《破茧成蝶》读书笔记——价值
    《破茧成蝶》读书笔记——技能(2)
    《破茧成蝶》读书笔记——技能(1)
    《破茧成蝶》读书笔记——信念
    《HeadFirst:HTML & CSS(第二版)》——开篇废话
    图片旋转方法
    uploadify 3.0 详细使用说明
    提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
    Sql 中 不等于'<>'与 NULL
    c#中获取存储过程的返回值(return Value)
  • 原文地址:https://www.cnblogs.com/Opaser/p/4560155.html
Copyright © 2011-2022 走看看