main.m文件

#import <Foundation/Foundation.h>

#import "Student.h"

 

#pragma mark 可变字典的使用

void dictUse() {

    //创建一个空的字典

    NSMutableDictionary *dict = [NSMutableDictionarydictionary];

   Student *stu1 = [StudentstudentWithName:@"stu1"];

   Student *stu2= [StudentstudentWithName:@"stu2"];

    

    // 添加元素

    // stu1的计数器会+1

    [dictsetObject:stu1 forKey:@"k1"];

   NSLog(@"stu1:%zi", [stu1retainCount]);

    

    // 添加其他字典other到当前字典dict中

    NSDictionary *other = [NSDictionarydictionaryWithObject:@"v2"forKey:@"k2"];

    [dict addEntriesFromDictionary:other];

    

    //删除所有的键值对

    // [dict removeAllObjects];

    

    // 删除k1对应的元素stu1,stu1会做一次release操作

    [dict removeObjectForKey:@"k1"];

   NSLog(@"stu1:%zi", [stu1retainCount]);

    

    // 删除多个key对应的value

    // [dict removeObjectsForKeys:[NSArray arrayWithObject:@"k1"]];

    

    // 字典被销毁时,内部的所有key和value计数器都会-1,也就是说stu1会release一次

}

 

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

{

 

    @autoreleasepool {

       dictUse();

    }

   return 0;

}

 posted on 2015-04-14 21:23  ianhao_cn  阅读(209)  评论(0编辑  收藏  举报