zoukankan      html  css  js  c++  java
  • NSDictionary 详解

    1、使用dictionaryWithObjectsAndKeys方法存储数据时,中间任何一个对象都不能为nil,否则它后面都对象都无法存入aFiledic。因为dictionaryWithObjectsAndKeys方法是以nil结尾的。所以,只要见到nil,此方法就认为结束了。

     NSDictionary *aFiledic = [NSDictionary dictionaryWithObjectsAndKeys:
                                  aFileModel.gid,               @"gid",
                                  aFileModel.nid,               @"nid",
                                  aFileModel.vid,               @"vid",
                                  aFileModel.videoName,         @"videoName",nil];

    2、BOOL 类型数据不能直接存入Dicionary,要将BOOL类型数据转换为NSNumber之后再存。

    [NSNumber numberWithBool:aFileModel.isDownloading]

    3、NSDictionary的遍历

    法一

    据说是开发文档中的方法,未考证。

    NSEnumerator *enumerator = [myDictionary keyEnumerator];
    id key;
    while ((key = [enumerator nextObject])) {
        /* code that uses the returned key */
    }
    

    法二

    @未解提供,也是最方便用的最多的一种方法,一般用这种就可以。

    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
    
    for (NSString *key in dict) {
        NSLog(@"key: %@ value: %@", key, dict[key]);
    }
    

    法三

    ~~需要根据i有特殊的操作时可以用这种~~
    上面那一行删除了,好像是语法错了,没有删除线...
    之前写这个文章的时候脑子里乱了,其实根据i有特殊操作的是NSArray,感谢@未解的提醒~
    这个方法是最笨拙的一个,一般遍历NSDictionary也不会这么用,姑且记在这里,怎么也算是一种方法嘛~

    - (void)describeDictionary:(NSDictionary *dict)
    
    {
      NSArray *keys;
      int i, count;
      id key, value;
    
      keys = [dict allKeys];
      count = [keys count];
      for (i = 0; i < count; i++)
      {
        key = [keys objectAtIndex: i];
        value = [dict objectForKey: key];
        NSLog (@"Key: %@ for value: %@", key, value);
      }
    }

     转:http://segmentfault.com/blog/jokinryou/1190000000440081?page=1

  • 相关阅读:
    windows根据指定编码启动jar包
    Ioc/DI和Aop(2)
    SpringIOC和AOP原理 设计模式(3)
    nacos安装与基础配置
    jvm内存参数解析
    springboot集成多数据源
    linux常见命令
    idea常见问题
    GSP
    GSP
  • 原文地址:https://www.cnblogs.com/ygm900/p/3723769.html
Copyright © 2011-2022 走看看