oc之词典对象

词典是由键-对象对组成的数据集合。与在词典中查找单词定义一样,可以通过对象的键从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;
    }
}

猜你喜欢

转载自blog.csdn.net/qiangshuting/article/details/80642752