字典NSDictionary

//
//  main.m
//  06-NSDictionary
//
//  Created by apple on 13-8-12.
//  Copyright (c) 2013年 itcast. All rights reserved.
//


/*
 集合
 1.NSArray\NSMutableArray
 * 有序
 * 快速创建(不可变):@[obj1, obj2, obj3]
 * 快速访问元素:数组名[i]

 2.NSSet\NSMutableSet
 * 无序

 3.NSDictionary\NSMutableDictionary
 * 无序
 * 快速创建(不可变):@{key1 : value1,  key2 : value2}
 * 快速访问元素:字典名[key]
 */

#import <Foundation/Foundation.h>

int main()
{
    NSArray *persons = @[
    @{@"name" : @"jack", @"qq" : @"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]},
    @{@"name" : @"rose", @"qq" : @"767567"},
    @{@"name" : @"jim", @"qq" : @"423423"},
    @{@"name" : @"jake", @"qq" : @"123123213"}
    ];

    // 
    // NSDictionary *jim = persons[2];


    // 
    NSString *bookName = persons[0][@"books"][1];
    NSLog(@"%@", bookName);
    //NSArray *array = persons[0][@"books"];

    //NSLog(@"%@", array);

    // 先取出1位置对应的字典
    // 再取出字典中qq这个key对应的数据
    //NSLog(@"%@", persons[1][@"qq"]);

    // NSLog(@"%@", jim);
    return 0;
}

void use4()
{
    // 字典不允许有相同的key,但允许有相同的value(Object)
    // 字典的无序的
    NSDictionary *dict = @{
    @"address" : @"北京",
    @"name" : @"jack",
    @"name2" : @"jack",
    @"name3" : @"jack",
    @"qq" : @"7657567765"};

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


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

         // *stop = YES;
     }];
}

void use3()
{
    NSMutableDictionary *dict = @{@"name" : @"jack"};


    [dict setObject:@"rose" forKey:@"name"];
}

void use2()
{
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    // 添加键值对
    [dict setObject:@"jack" forKey:@"name"];


    [dict setObject:@"北京" forKey:@"address"];

    [dict setObject:@"rose" forKey:@"name"];


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


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


    //NSLog(@"%@", str);

    NSLog(@"%@", dict);


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

void use()
{
    /*
     字典:

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

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


     */

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


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

    // NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];


    /*
     NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
     @"jack", @"name",
     @"北京", @"address",
     @"32423434", @"qq", nil];*/


    NSDictionary *dict = @{@"name" : @"jack", @"address" : @"北京"};

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

    id obj = dict[@"name"];

    NSLog(@"%@", obj);



    // 返回的是键值对的个数
    NSLog(@"%ld", dict.count);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值