Objective-C语言——NSMutableDictionary可变字典

来源:互联网 发布:杭州seo外包 编辑:程序博客网 时间:2024/05/16 08:28




#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {               //可变字典  NSMutableDictionary        //1.初始化方法        //创建一个空的字典        NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionary];                //创建一个有一个键值对的可变字典        NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObject:@"Rick" forKey:@"name"];                //创建一个有多个键值对的可变字典        NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address", nil];                //通过另一个字典创建一个字典        NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithDictionary:mDictionary3];                //        NSArray *array = mDictionary4.allKeys;//        for (NSString *key in array) {//            NSLog(@"%@ = %@",key,mDictionary4[key]);//        }                NSEnumerator *enumerator = [[mDictionary4 allKeys] objectEnumerator];        NSString *key ;        while (key = [enumerator nextObject])        {            NSLog(@"%@ = %@",key,mDictionary4[key]);        }                //可变字典独有的初始化方法        NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithCapacity:10];        //创建了初始大小为10个键值对的可变字典。同样的,参数 num 只是初始的大小,提高程序效率,并没有限制字典的大小,如果继续往里面添加数据,字典的元素个数会继续增加。                //从本地读取字典        NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfFile:@""];                //从网络读取字典        NSMutableDictionary *mDictionary7 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@""]];                //操作字典        //增        [mDictionary5 setValue:@"Rick" forKey:@"name"];        [mDictionary5 setValue:@25 forKey:@"age"];                //改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key对应的值)        [mDictionary5 setValue:@"Jack" forKey:@"name"];                //新语法改        mDictionary5[@"name"] = @"Leo";                //删除指定key的对象        [mDictionary5 removeObjectForKey:@"name"];                //删除所有对象        [mDictionary5 removeAllObjects];                NSLog(@"dic5 = %@",mDictionary5);                //例子        NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name1",@25,@"age",@"GZ",@"address",@"Rick",@"name2",@"Rick",@"name3", nil];                NSEnumerator *en = [[mDictionary8 allKeys] objectEnumerator];        NSString *key1;        while (key1 = [en nextObject]) {            NSLog(@"%@ = %@",key1, mDictionary8[key1]);        }                        NSArray *keyD8 = mDictionary8.allKeys;        for (NSString *key in keyD8)        {//            //            NSString *string ;//            if ([mDictionary8[key] isKindOfClass:[NSNumber class]]) {//                int i = [mDictionary8[key] intValue];//                string = [NSString stringWithFormat:@"%d",i];//            }//            else//            {//                string = mDictionary8[key];//            }                        NSString *string = mDictionary8[key];            if ([string isEqual:@"Rick"])            {                NSLog(@"key = %@",key);            }                    }                  }    return 0;}


运行结果


2015-12-16 09:54:19.626 OC_06_02[7083:253673] name = Rick

2015-12-16 09:54:19.628 OC_06_02[7083:253673] age = 25

2015-12-16 09:54:19.629 OC_06_02[7083:253673] address = GZ

2015-12-16 09:54:19.643 OC_06_02[7083:253673] dic5 = {

}

2015-12-16 09:54:19.644 OC_06_02[7083:253673] age = 25

2015-12-16 09:54:19.644 OC_06_02[7083:253673] name2 = Rick

2015-12-16 09:54:19.645 OC_06_02[7083:253673] name1 = Rick

2015-12-16 09:54:19.645 OC_06_02[7083:253673] name3 = Rick

2015-12-16 09:54:19.645 OC_06_02[7083:253673] address = GZ

2015-12-16 09:54:19.646 OC_06_02[7083:253673] key = name2

2015-12-16 09:54:19.646 OC_06_02[7083:253673] key = name1

2015-12-16 09:54:19.647 OC_06_02[7083:253673] key = name3

Program ended with exit code: 0



0 0
原创粉丝点击