词典是由键-对象对组成的数据集合。与在词典中查找单词定义一样,可以通过对象的键从oc词典中获取需要的值(即哪个对象),词典中的键必须是单值的,通常他们是字符串,但也可以是其他对象类型。和键关联的值可以是任何对象类型但不能是nil.
词典可以是固定的,也可以是可变的。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableDictionary *glossary = [NSMutableDictionary dictionary];//创建空的可变词典
//存储三个条目在类别中
[glossary setObject: @"A class defined so other classes can inherit from it"forKey: @"abstract class"];//setObject:forKey方法将键值对添加到词典中
[glossary setObject: @"To implement all the methods defined in a protocol" forKey: @"adopt"];
[glossary setObject: @"Storing an object for later use" forKey: @"archiving"];
//检索并显示他们
NSLog(@"abstract class: %@", [glossary objectForKey: @"abstract class"]);
NSLog(@"adopt: %@", [glossary objectForKey: @"adopt"]);
NSLog(@"archiving:%@", [glossary objectForKey: @"archiving"]);
}
return 0;
//dict [key]等同于[dict objectForKey: key];
存储键-值对到词典中,dict[key] = object等同于[dict setObject: object forKey: key]
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDictionary *glossary = [NSDictionary dictionaryWithObjectsAndKeys: @"A class defined so other classes can inherit from it", @"abstract class", @"To implement all the methods defined in a protocol",@"adopt", @"Storing an object for later use", @"archiving", nil];//创建带有初始键—值对的词典,不可变词典,词典对象是无序的,第一个放到词典中的键—对象对并不是第一个取出,每个对象—键用逗号隔开,数组必须以nil对象结束。
//打印词典中的所有键—值对
for(NSString *key in glossary)
NSLog(@"%@: %@", key , [glossary objectForKey: key]);
//键是从词典中依次搜索的,没有特定顺序
return 0;
}
}
列举其中的值#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDictionary *glossary = [NSDictionary dictionaryWithObjectsAndKeys: @"A class defined so other classes can inherit from it", @"abstract class", @"To implement all the methods defined in a protocol",@"adopt", @"Storing an object for later use", @"archiving", nil];//创建带有初始键—值对的词典,不可变词典,词典对象是无序的,第一个放到词典中的键—对象对并不是第一个取出,每个对象—键用逗号隔开,数组必须以nil对象结束。
//打印词典中的所有键—值对
for(NSString *key in glossary)
NSLog(@"%@: %@", key , [glossary objectForKey: key]);
//键是从词典中依次搜索的,没有特定顺序
return 0;
}
}