字典与可变字典

字典的定义以及使用

不可变字典

1.在字典里 键 和 值是成对出现的    字典是通过键(Key)来存取值的且每一个值对应的Key是唯一的   字典的类名是NSDictionary

2.字典的定义

   (1)初始化一个空字典

NSDictionary *dic = [[NSDictionary alloc] init];

NSDictionary *dic1 = [NSDictionary dictionary];

(2)初始化的同时添加一对键值  这种定义方式是前面是值(id)  后面是键

NSDictionary *dic2 = [NSDictionary dictionaryWithObject:@“object” forKey:@“key”];

(3)初始化的同时添加多对值  (前面是值 (id) 后面是键(字符串))

NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@“object1”,@“key1”,@“object2”,@“key2”,- - -,nil];

(4)字典初始化的新方法   (前面是键  后面是值(id))

NSDictionary *dic4 = @{@“key”,@“object”,@“key1”,@“object1”,- -  -};

取值方式:字典名[@“key”];

(5)字典的取值是通过 objectForKey来取值的

形式是: [字典名  objectForKey:@“key”];

    例如:NSDictionary *dic5 = @{@"key":@"值", @"key1":@"值1"};

         NSString *string = [dic5 objectForKey:@"key"];

  (6)另一种取值方式  字典名[@“key”]。

    NSString *string1 = dic5[@"key1"];

可变字典

1.可变字典的初始化方式和不可变的是一样的 就是将NSDictionary 换成

NSMutableDictionary就可以了      但可变字典没有初始化的新方法

即不能这样定义:

NSMutableDictionary *dic = @{@“key”,@“object”,@“key1”,@“object”- - -};

2.向可变字典里存入键值的方法是setObject:   它也可以用来改变Key的值

(1)向可变字典里存入键值的实现方法

形式:[字典名  setObject:@“值” forKey:@“key”];

      例如:NSMutableDictionary *dic3 = [NSMutableDictionary dictionary];

      [dic3 setObject:@"大哥" forKey:@"name"];

(2)  改变Key的值的实现方式是:Key不变去改变值

形式:[字典名  setObject1:@“值” forKey:@“key”];

       例如:[dic3 setObject:@"俊哥" forKey:@"name"];

   (3)通过key移除key对应的key和值。方法:removeObjectForKey:

        形式:[字典名  removeObjectForKey:@“key”];

        例如:[dic3  removeObjectForKey:@"name"];

3.遍历一个字典

    //allkeys 会取出字典里面所有的key放到一个数组里面

    例如:NSDictionary *dic1 = @{@"obj": @"objects1", @"obj1":@"objects1"};

       NSArray *all = dic1.allKeys;

       for (NSString *key in all) {

  NSLog(@"%@",[dic1 objectForKey:key]);

  }

时间: 2024-10-26 06:17:32

字典与可变字典的相关文章

Objective-C 字典、可变字典

字典相当于c++ stl中的map 字典NSDictionary 1 #import <UIKit/UIKit.h> 2 #import "AppDelegate.h" 3 4 int main(int argc, char * argv[]) { 5 // 从@符号创建字典 实际上就是键值对容器 6 NSDictionary *dict = @{@"name":@"zhangsan",@"sex":@"

iosOC不可变字典和可变字典

//key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int  age ->@(age) //  [dic[name] intValue]; //   @()-->转成NSNumber 类型 //     intValue //value可以使任意对象(NSString  NSArrray , dog  ) //NSDictionary 一旦创建不能修改增加删除 #pragma mark 字典的创建 NS

ios objective-c之-9:字典,可变字典 (NSDictonary NSMutableDictoray)

一:字典的基础讲解 NSDictionary(字典),NSDictionary类似于 .net中的parameter,l类似于java中的map. 通过唯一的key找到对应的值,一个key只能对应一个只,而多个key可以对应同一个值.NSDictionary 在初始化之后,就不可以再进行修改. 使用类方法创建NSDictionary对象. 初始化一个NSDictionary对象.使用+ (id)dictionaryWithObject:(id)object forKey:(id)key; NSD

objective-c可变字典

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 1 #pragma mark *****************************字典********************************  2 //        字典:通过key来取值的 key值必须是成对出现的,key不能为空(nil)  3 

Objective - C NSDictionary不可变字典和NSMutableDictionary可变字典

//创建一个不可变的字典对象 //便利构造器创建 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhonger", @"name2", @"taixu", @"name1", @"caicai", @"name3", nil]; //初始化方法 //先给value 再给key NSDictionary *

OC基础 可变字典与不可变字典的使用

OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"huang",@"name",@"30",@"age", nil]; NSLog(@"%@",

利用runtime,避免UIButton 重复点击, 可变数组和可变字典为nil,或者数组越界导致的崩溃

Demo链接: https://github.com/ShaoWenLe/Runtimer-Demo.git 参考文章: http://www.jianshu.com/p/080a238c62b9 相关Runtime介绍: http://www.cocoachina.com/ios/20160523/16386.html http://www.cocoachina.com/ios/20160628/16843.html 1 #import <Foundation/Foundation.h> 2

OC中关于字典(可变字典)的使用---连载三

可变字典使用举例: 设计一个学生类Student, 有这些属性:name(姓名).age(年龄).score(分数).(classNum)班级 (1)将如下学生添加到数组中 姓名年龄分数班级 Tom1782Class01 Jim2275Class01 Jerry3454Class01 Owen2298Class04 Steve1977Class05 (2)计算所有学生的平均分(年级的平均分) (3)计算各个班级的平均分 (4)用名字作为key, value是学生对象,将这些学生存入字典. mai

不可变字典 赋值 求字典里有多少对 获取字典里所有value值 获取所有考值

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /*字典:NSDictionary 存储数据用的   和数组的区别:字典使用键值方式.无序的 2 相当于我们使用字典通过目录来查找具体字的解释 3 用key-value的形式数据,value作用用来存储数据,key用来检索数据 4 cocoa中的字典:可变/不可变 注意: 1.key通常是字符串对象,可以是