当前位置: 代码迷 >> 综合 >> Objective-C学习-字典类型 NSDictionary 和 NSMutableDictionary
  详细解决方案

Objective-C学习-字典类型 NSDictionary 和 NSMutableDictionary

热度:26   发布时间:2024-01-04 06:45:07.0

字典类型 NSDictionary 和 数组NSArray  类型相似,但存在数组里要取值每次都要遍历,这样就浪费了很长的时间,字典的便利就在于他在存取对象的时候,在后面会追加一个 键值,可以理解成一个标志,我们可以根据这个标志很快的找到这个对象,这样就相对于数组的全部遍历就要方便多。

      字典类型与数组类型相似,都是存取的对象,不能存取基本的数据类型,如 int , double, char等,类比数组,字典自然也会有两种类型,不可变字典: NSDictionary 和 可变字典 NSMutableDictionary

这两个类型属于自学,因为还没有学到这个地方,如果学到,必将新版本的用法修改过来。


不可变字典 NSDictionary 的大体用法

//
//  main.m
//  Practise_NSDictionary
//
//  Created by Mac on 15/8/4.
//  Copyright (c) 2015年 yue. All rights reserved.
//#import <Foundation/Foundation.h>
#import"Student.h"int main(int argc, const char * argv[])
{/*不可变字典类型  NSDictionary*///创建3个学生对象Student *student1 = [[Student alloc]initWithName:@"小明" Age:19];Student *student2 = [[Student alloc]initWithName:@"小刚" Age:18];Student *student3 = [[Student alloc]initWithName:@"小红" Age:16];/*初始化一个字典对象NSDictionary,并将上面的3个学生对象存进字典字典中的数据是以 键值对 的形式出现,并且顺序不能乱,前边是对象,后面是键名不能丢掉最后的nil*/NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:student1,@"小明",student2,@"小刚",student3,@"小红",nil];//取出键值是@“小红”的对象Student *student = [dic objectForKey:@"小红"];/*下一句输出的结果是:2015-08-04 19:40:03.171 Practise_NSDictionary[1351:138915] 这位键值是小红的学生是:小红*/NSLog(@"这位键值是小红的学生是:%@",[student name]);/*最新的一种便利,叫做快速创建,更加方便,而且表达也更加清新 &#x