字典与Model类

来源:互联网 发布:声级计软件 编辑:程序博客网 时间:2024/04/30 14:58
  1. 字典的特点: 
(1). 字典与数组一样,只能存对象类型数据,不能存基本数据类型 
(2). 与数组不同的是,字典靠key存取元素

(3). key不能重复,value必须是对象.

(4). 键值对在字典中是无序存储的.

(5). 遍历字典里德对象,其实是遍历字典的关键字,然后根据key来获取对应的value值.


  1. 字典与Model类

(1). 所有的不可变变量,只能够在初始化的时候赋值.(只能用,不能改)

(2). 任意的字典都可以转换成Model类.只是取值方式不同.

(3). Model类随时可以赋值,所以它更倾向于可变字典.

(4). 字符串在常量区:只初始化一次.

(5). 通过字典给Model类赋值,必须重写父类方法 :

 - ( void ) setValue : ( id ) value forUndefinedKey : ( NSString * ) key;
(6). 字典转换成Model类的具体实例. 

 NSMutableDictionary *boo = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"你好",@"name",@"女",@"sex", nil];    NSArray *a = [NSArray arrayWithObjects:@"ni",@"you",@"ok", nil];    NSMutableDictionary *b = [NSMutableDictionary dictionaryWithObject:a forKey:@"array"];    [boo setObject:b forKey:@"text"];    NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:boo,@"body",@"hello",@"message", nil];    NSMutableDictionary *dic = [NSMutableDictionary dictionary];    [dic setObject:boo forKey:@"body"];    [dic setObject:@"hello" forKey:@"message"];    NSLog(@"dic = %@",dic);
    //将上面的字典转换成Model类        MyDic *dic = [[MyDic alloc]init];    dic->_body = [[MyBody alloc] init];    dic->_message = @"hello";    dic->_body->_name = @"你好";    dic->_body->_sex = @"女";    dic->_body->_text = [[MyText alloc] init];    dic->_body->_text->_array = [NSMutableArray arrayWithObjects:@"ni",@"you",@"ok", nil];    NSLog(@"dic = %@",dic->_body->_text->_array);    





0 0
原创粉丝点击