Objective-C 学习记录6--dictionary

1.NSDictionary 和NSMutableDictionary

NSDictionary dictionaryWithObjectsAndKeys:~,nil

使用键值对创建字典,用nil标志结束

NSDictionary initWithObjectsAndKeys:

使用键值对初始化字典,也用nil来表示结束.

dictionary count  计算其字典的长度.

dictionary keyEunmerator  将key全部存在NSEunmerator中,可以快速枚举其中的key的值.

dictionary objectForKey: key  通过key来查询值.

demo:

    #import <UIKit/UIKit.h>
    #import "MyClass.h"
    int main(int argc, char *argv[])
    {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

        //添加我们的测试代码 

        NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"我是值",@"我是key1",@"我是值2",@"我是key2", nil]; 

        //得到词典的数量
        int count = [dictionary count];
        NSLog(@"词典的数量为: %d",count); 

        //得到词典中所有KEY值
        NSEnumerator * enumeratorKey = [dictionary keyEnumerator]; 

        //快速枚举遍历所有KEY的值
        for (NSObject *object in enumeratorKey) {
            NSLog(@"遍历KEY的值: %@",object);
        } 

        //得到词典中所有Value值
         NSEnumerator * enumeratorValue = [dictionary objectEnumerator]; 

        //快速枚举遍历所有Value的值
        for (NSObject *object in enumeratorValue) {
            NSLog(@"遍历Value的值: %@",object);
        } 

        //通过KEY找到value
        NSObject *object = [dictionary objectForKey:@"我是key2"]; 

        if (object != nil) {
            NSLog(@"通过KEY找到的value是: %@",object);
        } 

        int retVal = UIApplicationMain(argc, argv, nil, nil);
        [pool release];
        return retVal;
    } 

2.NSMutableDictionary是NSDictionary的子类,因此也继承其有的方法.

[NSMutableDictionary dictionaryWithCapacity:10];//创建一个长度为10的字典,不过字典的内容超过了10会自动增加.
[NSMutableDictionary initWithCapacity: 10];
//初始化长度为10;

[dictionary setObject:~ forKey;~];
//x向可变的字典中添加数据;

[dictionary removeAllobjects];//删除所有的数据;

removeObjectForKey: //删除key的对应值;
    #import <UIKit/UIKit.h>
    #import "MyClass.h"
    int main(int argc, char *argv[])
    {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

        //添加我们的测试代码 

        //创建词典对象,初始化长度为10
        NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:10]; 

        //向词典中动态添加数据
        [dictionary setObject:@"被添加的value1" forKey:@"key1"]; 

        [dictionary setObject:@"被添加的value2" forKey:@"key2"]; 

        //通过KEY找到value
        NSObject *object = [dictionary objectForKey:@"key2"]; 

        if (object != nil) {
            NSLog(@"通过KEY找到的value是: %@",object);
        } 

        int retVal = UIApplicationMain(argc, argv, nil, nil);
        [pool release];
        return retVal;
    } 
[NSMutableDictionary dictionaryWithCapacity:10];//创建一个长度为10的字典,不过字典的内容超过了10会自动增加.

Objective-C 学习记录6--dictionary

时间: 2024-10-10 21:34:14

Objective-C 学习记录6--dictionary的相关文章

Objective-C 学习记录4

字符串的一些方法使用: 1.创建字典的NSString可变字符串,和NSMutableString不可变字符串.都是objective的对象. char *str是字母数组. 2.字符串格式化:stringWithFormat,,格式化任何int,char double,float等的内型. 3.stringWithString字符串赋值和这个类似, NSString *str = @"我就是我!"; 4.字符串转化为UTF-8的格式 stringWithUTF8String 5.两个

Objc基础学习记录3

在学习Objective-c中, 数组 1.NSArray, 这是一个不可变的数组,不能修改和删除其中的对象,可以存储任意objective的对象指针. 不能存储int,char类型的,,需要转换为需要的类型. 要快速枚举数组中的值,用in. 1 for (NSString *eleement in myArray) 2 NSLog(@"myArray is %@",element); 2.NSMutableArray 这是一个可变的数组,可以向其中添加和删除对象. a.添加addOb

swift学习记录

0.句末不用打分号 1.变量var 常量let,不用指定类型,自动推断 2.当需要指定类型时: let explicitDouble:Double=7 //7.0 3.+号不能自动把数字变成string,全部用显式转换: let label="The width is" let width=94 let widthLable= label+String(width) 4.也可以用\()来插入一个变量或常量,比java麻烦嘛. let apples=3 let summary="

Python学习记录-2016-12-17

今日学习记录 模块: import os#导入os模块 import sys#导入sys模块 os.system("df -h")#执行df -h命令 cmd_res = os.popen("df -h").read()#将命令的返回结果赋值给cmd_res,如果不加入.read()会显示命令的返回加过在内存的位置 print(sys.path)#显示系统变量路径,一般个人模块位于site-packages下,系统模块位于lib下 print(sys.argu[2]

Objc基础学习记录5

NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendingFormat:可以添加多个类型的字符串. int,chat float,double等 3.stringWithString 创建字符串, 4.rangeOfString 返回str1在另一个字符串中的位置. 5.NSMakeRange(0,3) 字符串0位到3位. 6.deleteCharac

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

Python学习记录-2016-11-29

今日学习记录: 心灵鸡汤: 要有合适自己的目标,一个目标一个目标实现,切忌好高骛远: 最好的投资就是投资自己: 实现梦想 学习,学习,再学习: Talk is cheap. 从本身而言,余三十而立之年,从事测试行业7七年有余,一年半华为外包路由器,两年无线wifi测试,一年半网管软件测试,一年自动化测试经理,推行公司自动化测试进程,从开始的TCL,到现在的python,工欲善其事必先利其器,所以自己来学习,总体我认为我的目标是一直前进的,不断变化的,但是方向并没有大的错误,有些累,所以近期有些懈