zoukankan      html  css  js  c++  java
  • Objectc 总结之NSDictionary

    NSDictionary的常见用法总结

            NSArray *array1 = [NSArray arrayWithObjects:@"iphone",@"ipod",nil];

            NSArray *array2 = [NSArray arrayWithObjects:@"mac",@"imac",@"mac pro",nil];

            //类方法初始化自动释放

            NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys:array1,@"mobile",array2,@"computers",nil];//注意用nil结束

            NSLog(@"myDictionary = %@",myDictionary);

            

            int dictSize = [myDictionary count];

            //访问字典中的值

            NSArray *mobile = [myDictionary objectForKey:@"mobile"];

            //从一个对象获取键

            NSArray *keys = [myDictionary allKeysForObject:array1];

            //获取字典中所有值得一个数组

            NSArray *values = [myDictionary allValues];

            //快速枚举

            for(id key in myDictionary)

            {

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

            }

            //如果字典只包含属性列表对象(NSData,NSDate,NSNumber,NSString,NSArrayNSDictionary)可以保存到文件中

            NSString *filePath = [[[NSBundlemainBundle]resourcePath]stringByAppendingPathComponent:@"dict.txt"];

            BOOL success = [myDictionary writeToFile:filePath atomically:YES];

            //用文件填充

            NSDictionary *myDict2 =[NSDictionary dictionaryWithContentsOfFile:filePath];

            

            //可变字典

            NSMutableDictionary *dictMutable = [[NSMutableDictionary alloc]initWithObjectsAndKeys:array1,@"mobile",array2,@"computer", nil];

            NSString *string4 = @"stringTV";

            //修改对象

            [dictMutable setObject:string4 forKey:@"media"];

            //删除对象

            [dictMutable removeObjectForKey:@"mobile"];

            //删除多个对象

            NSArray *keyArray =[NSArray arrayWithObjects:@"mobile",@"computer", nil];

            [dictMutable removeObjectForKey:keyArray];

            //删除所有对象

            [dictMutable removeAllObjects];

            

  • 相关阅读:
    Linux Hung Task分析
    Linux内存都去哪了:(1)分析memblock在启动过程中对内存的影响
    《Linux/UNIX系统编程手册》第63章 IO多路复用、信号驱动IO以及epoll
    Linux内核和用户空间通信之netlink
    Linux soft lockup分析
    一款DMA性能优化记录:异步传输和指定实时信号做async IO
    Linux下时钟框架实践---一款芯片的时钟树配置
    使用Kernel NetEm和tc模拟复杂网络环境
    使用Flame Graph进行系统性能分析
    sigsuspend()阻塞:异步信号SIGIO为什么会被截胡?
  • 原文地址:https://www.cnblogs.com/superhappy/p/2332947.html
Copyright © 2011-2022 走看看