码迷,mamicode.com
首页 > 其他好文 > 详细

Object-c------NSDictionary的简单介绍

时间:2016-05-13 01:40:51      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

main.m

//
//  main.m
//  NSDictionary
//
//  Created by zhaogang on 16/5/8.
//  Copyright ? 2016年 zhaogang. All rights reserved.
//
/*
 集合
 NSArray        ArrayList
 NSSet          HashSet
 NSDictionary   Map

 1. NSArray\NSMutableArray
 * 有序
 * 快速创建(不可变): @[]
 * 快速访问元素: 数组名[]

 2. NSSet\NSMutableSet
 *无序

 3. NSDictionary\NSMutableDictionary
 * 无序
 * 快速创建(不可变): @{key : value}
 * 快速访问: 字典名[key]

 */

#import <Foundation/Foundation.h>

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

    NSArray *person = @[
      @{@"address" : @"beijing" , @"name" : @"jack", @"age" : @"22"},
      @{@"address" : @"shanghai" , @"name" : @"rose", @"age" : @"21"},
      @{@"address" : @"nanjing" , @"name" : @"mike", @"age" : @"23"},
      @{@"address" : @"hongkong" , @"name" : @"hobe", @"age" : @"25"}

      ];

//    NSDictionary *jack = person[0];
//    NSLog(@"%@", jack);

    NSLog(@"%@", person[1][@"address"]);


    return 0;
}

void test3()
{
    //字典不允许有想用的key,但允许有相同的value(object)
    NSDictionary *dict = @{@"address" : @"beijing" , @"name" : @"jack", @"age" : @"22"};


    //    NSArray *keys = [dict allKeys];
    //    for(int i = 0; i < dict.count; i++)
    //    {
    //        //[keys objectAtIndex:i];
    //        NSString *key =  keys[i];
    //        NSString *object = dict[key];
    //
    //        NSLog(@"%@ - %@", key , object);
    //    }

    [dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        NSLog(@"%@ - %@" , key , obj);

        //*stop = YES;
    }];

}

void test2()
{

    //错误
    //    NSMutableDictionary *dict = @{@"name" : @"jack"};
    //
    //    [dict setObject:@"rose" forKey:@"name"];
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    //添加键值对,没有顺序
    [dict setObject:@"jack" forKey:@"name"];
    [dict setObject:@"beijing" forKey:@"address"];


    //这里会将上面的key的值覆盖
    [dict setObject:@"rose" forKey:@"name"];

    //移除键值对
    //[dict removeObjectForKey:<#(nonnull id)#>];

    NSString *str = dict[@"name"];

    NSLog(@"%@",str);

    //NSLog(@"%@", @[@"jack", @"rose"]);

    NSLog(@"%@", dict);
}

void test()
{
    /*
     字典:

     key---->value
     索引---->文字内容

     里面存储的东西都是键值对
     */


    //NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];

    //    NSArray *key = @[@"name", @"address"];
    //    NSArray *object = @[@"jack", @"beijing"];
    //
    //    NSDictionary *dict = [NSDictionary dictionaryWithObjects:object forKeys:key];

    //    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
    //                          @"jack",@"name",
    //                          @"beijing",@"address",
    //                          @"22",@"age",nil];

    NSDictionary *dict  = @{@"name" : @"jack" , @"address" : @"beijing" , @"age" : @"22"};

    id obj = [dict objectForKey:@"age"];
    NSLog(@"%@", obj);

    //返回键值队的个数
    NSLog(@"%ld" , dict.count);

}

Object-c------NSDictionary的简单介绍

标签:

原文地址:http://blog.csdn.net/qq_33351410/article/details/51344591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!