字典的使用

创建字典

NSDictionary 类通过初始化程序和类工厂方法,向您提供多种创建字典的方法,但是有两个类方法特别常用:dictionaryWithObjects:forKeys: 和 dictionaryWithObjectsAndKeys:(或它们对应的初始化程序)。使用前一种方法时,您传入对象数组和键数组;键在位置上与其值匹配。使用第二种方法时,您指定第一个对象值及其键,第二个对象值及其键,依此类推;您使用 nil 标记此对象序列的结尾。

// First create an array of keys and a complementary array of values
NSArray *keyArray = [NSArray arrayWithObjects:@"IssueDate", @"IssueName", @"IssueIcon", nil];
NSArray *valueArray = [NSArray arrayWithObjects:[NSDate date], @"Numerology Today",
    self.currentIssueIcon, nil];
// Create a dictionary, passing in the key array and value array
NSDictionary *dictionaryOne = [NSDictionary dictionaryWithObjects:valueArray forKeys:keyArray];
// Create a dictionary by alternating value and key and terminating with nil
NSDictionary *dictionaryTwo = [[NSDictionary alloc] initWithObjectsAndKeys:[NSDate date],
    @"IssueDate", @"Numerology Today", @"IssueName", self.currentIssueIcon, @"IssueIcon", nil];

如同数组,创建 NSDictionary 对象时,您可使用容器字面常量 @{key :value, …},其中“…”表示任意数量的键-值对。例如,以下代码创建含三个键-值对的不可变字典对象:

NSDictionary *myDictionary = @{
   @"name" :NSUserName(),
   @"date" :[NSDate date],
   @"processInfo" :[NSProcessInfo processInfo]
};

访问字典中的对象

您通过调用 objectForKey: 方法并将键指定为参数,访问字典中的对象值。

NSDate *date = [dictionaryTwo objectForKey:@"IssueDate"];

您还可以使用下标访问字典中的对象。键出现在方括号内(方括号紧接在字典变量后面)。

NSString *theName = myDictionary[@"name"];

管理可变字典

您通过调用 setObject:forKey: 和 removeObjectForKey: 方法,在可变字典中插入和删除项目。setObject:forKey: 方法替换给定键的任何现有值。这些方法都很快捷。

您还可以使用下标,将键-值对添加到可变字典中。键下标位于赋值左侧,而值位于右侧。

NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
mutableDict[@"name"] = @"John Doe";

原文地址:https://www.cnblogs.com/lelun/p/5558566.html