A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许本亮 中级黑马   /  2015-11-11 09:35  /  467 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#import <Foundation/Foundation.h>


/*
字典:
key-->value
索引-->文字内容

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


*/

int main() {
    //不可变,初始化需完成赋值
    NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];

    id obj = [dict objectForKey:@"name"];

    NSLog(@"%@", obj);


    NSArray *keys = @[@"name",@"address"];
    NSArray *objects = @[@"jack", @"北京"];

    NSDictionary *dict2 = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
    id obj1 = [dict2 objectForKey:@"name"];

    NSLog(@"%@", obj1);


    NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"jack", @"name",
                           @"北京", @"address",
                           @"34234234", @"qq", nil];

    id obj2 = [dict3 objectForKey:@"qq"];

    NSLog(@"%@", obj2);


    //建议使用
    NSDictionary *dict4 = @{@"name" : @"jack",
                            @"address" : @"北京",
                            @"qq" : @"4234234"};

    //id obj3 = [dict4 objectForKey:@"address"];

    //建议使用
    id obj3 = dict4[@"address"];

    NSLog(@"%@", obj3);

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




    //可变字典
    NSMutableDictionary *dict5 = [NSMutableDictionary dictionary];
    //添加键值对,无序
    [dict5 setObject:@"jack" forKey:@"name"];
    [dict5 setObject:@"北京" forKey:@"address"];

    //重复给key赋值会覆盖以前的值,字典不允许相同的key,允许有相同的object
    [dict5 setObject:@"rose" forKey:@"name"];

    //删除键值对
    //[dict5 removeObjectForKey:@"name"];


    //遍历
    NSDictionary *dict6 = @{@"name" : @"tom",
                            @"address" : @"北京",
                            @"tel" : @"3423424"};
//    NSArray *Keys = [dict6 allKeys];
//   
//    for (int i = 0; i<dict6.count; i++) {
//        
//        NSString *key = Keys[i];
//        NSString *object = dict6[key];
//        NSLog(@"%@=%@", key, object);
//    }

    //block遍历
    [dict6 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        NSLog(@"%@-%@", key, obj );

        *stop = YES;

        }];

      return 0;
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马