关闭

NSDictionary的一些方法应用

标签: xwj原创
93人阅读 评论(0) 收藏 举报
分类:

//

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        /*

      首先,NSDictionary 数组,是以键值对的形式存储数据的往其中存储数据是可以的,但是必须要为存储的数据取 1 个别名,通过这个别名来找到存储在这个数组中的数据.

      NSDictionary 字典数组一旦创建完毕其键值对的个数就固定.并且无法删除、新增键值对*/

 // 创建一个空的字典,这个是没有意义的,因为无法动态的新增删除

        NSDictionary *xwj = [NSDictionary dictionaryWithObjectsAndKeys:@"obj",@"name",@"3",@"index", nil];

        

 // 快速创建字典的方法

        NSDictionary *xwj1 = @{@"key":@"value1",@"key1":@"value2"};

        NSLog(@"%@",xwj1);

        

// 得到字典中的个数

//        @protocol(readonly)NSUInteger count; // 这个是只读的.

      NSUInteger num =   xwj1.count;

// 得到字典数组中键对应的值.

        

        NSDictionary *xwj2 = @{@"name":@"xieXiaoCai",@"age":@"25"};

            NSString *str = [xwj2 objectForKey:@"name"];

        

        NSString *age = xwj2[@"age"];

        // 如果给的键不存在,根据哈希算法取出来的是nil不会报错的

        // NSDictionary的遍历

        // 使用for in 遍历

        for(id key in xwj2)

        {

            NSLog(@"%@,%@",key,[xwj2 objectForKey:key]);

        }

        /*

         增强for循环遍历字典数组,遍历出来的仅仅是字典数组中的所有的键,拿到键以后,我们可以根据取到的键对应的值.key是迭代数组中每一个键,通过键取到相对应得值.

         */

        

    // 遍历字典之blick

        [xwj2 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {

            NSLog(@"%@,%@",key,obj);

            // 同样的原理key 遍历出来的键值对的键

            // obj代表遍历出来的键值对的值

        }];

        

        

        // 关于可变字典数字的介绍

        // 创建可变字典数组

        // 这个就是创建了一个可变数组,因为是可变的所以可以动态的新增和删除.

       NSMutableDictionary *xwj3 =  [NSMutableDictionary dictionary];

        // 如何新增键值对?

        [xwj3 setObject:@"name" forKey:@"xwjs"];

        // 如何删除键值对?

        [xwj3 removeObjectForKey:@"name"];

        // 删除所有的键值对

        [xwj3 removeAllObjects];

        // 快速创建一个可变的字符串

        NSMutableDictionary *xwj4 = @{@"name":@"xwj",@"age":@"26",@"height":@"180"};

        

        // 快速迭代

        [xwj4 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {

            NSLog(@"%@,%@",key,obj);

        }];

        

        

        // 以上这些就是字典的粗浅的应用,时间仓促,比较晚了,改天在写吧

        

    }

    return 0;

}


0
0
查看评论

NSDictionary实现原理

        NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的, hash函数设计的好坏影响着数据的查找访问效率。数据在hash表中分布的越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSSt...
  • linshaolie
  • linshaolie
  • 2014-11-26 09:14
  • 5573

NSArray排序方法 从网上查的,非常方便的排序api,功能也很强大 1.sortedArrayUsingSelector (按Key值大小对NSDictionary排序) 复制代码 NSMu

NSArray排序方法 从网上查的,非常方便的排序api,功能也很强大 1.sortedArrayUsingSelector (按Key值大小对NSDictionary排序) NSMutableArray *array = [NSMutableArray arrayWithO...
  • SallyO_O
  • SallyO_O
  • 2016-01-14 11:18
  • 658

iOS: NSDictionary的方法dictionaryWithObjectsAndKeys:

+ (id)dictionaryWithObjectsAndKeys:(id)firstObject , ...
  • u011275873
  • u011275873
  • 2013-08-03 08:47
  • 1501

NSCache的一点小小认识

NSCache   NSCache是一个类似于集合的容器,即缓存。它存储key-value对,这一点类似于NSDictionary类。我们通常用使用缓存来临时存储短时间使用但创建昂贵的对象。重用这些对象可以优化性能,因为它们的值不需要重新计算。另外一方面,这些对象对于程序来说不是紧要的,在...
  • longshihua
  • longshihua
  • 2016-08-15 17:32
  • 898

NSDictionary 取值的方法

NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys:@"hechen",@"name",@"25",@"age", nil];   &...
  • leikezhu1981
  • leikezhu1981
  • 2014-03-18 15:45
  • 4670

OC[NSNumber][NSDictionary]语法简写

[NSNumber numberWith…:][NSNumber numberWithChar:‘X’] //简写为 @‘X’; [NSNumber numberWithInt:12345] //简写为 @12345 [NSNumber numberWithUnsignedLong:123...
  • baicai_520
  • baicai_520
  • 2016-11-07 08:52
  • 568

NSDictionary,NSArray的简写

创建方式 @(1000)表示数字对象100 NSArray *array = @[@{@"Id":@(1000),@"Name":@"customer1000"}, @{@"Id":@(1001),@"N...
  • samuelltk
  • samuelltk
  • 2015-03-30 21:33
  • 2079

NSCache优于NSDictionary的几点?

NSCache 是一个容器类,类似于NSDIctionary,通过key-value 形式存储和查询值,用于临时存储对象。 注意一点它和NSDictionary区别就是,NSCache 中的key不必实现copy,NSDictionary中的key必须实现copy NSCache...
  • bowei1105
  • bowei1105
  • 2017-06-16 08:06
  • 1549

iOS: NSDictionary的方法initWithObjectsAndKeys:

- (id)initWithObjectsAndKeys:(id)firstObject , ... example: NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: ...
  • u011275873
  • u011275873
  • 2013-08-02 18:31
  • 4912

swift NSDictionary(字典)

2、NSDictionary(字典)         //创建空字典         let emptyDictionary = DictionaryString, Float>()  &#...
  • sevenquan
  • sevenquan
  • 2016-01-14 12:25
  • 2108
    个人资料
    • 访问:488次
    • 积分:62
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档