介绍的api
//
// main.m
// NSDiconary
//
// Created by ganchaobo on 13-4-29.
// Copyright (c) 2013年 ganchaobo. All rights reserved.
//
#import <Foundation/Foundation.h>
void CreateDic(){
//第一种创建字典,创建多个key-value
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1"
,@"k2",@"v2",@"k3",@"v3", nil];
//NSLog(@"%@",dic);
//第二种创建字典 创建一对 key-value
NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"VV" forKey:@"KK"];
// NSLog(@"%@",dic1);
//第三种创建多对间值
NSArray *key=[NSArray arrayWithObjects:@"K1",@"K2",@"K3", nil];
NSArray *value=[NSArray arrayWithObjects:@"V1",@"V2",@"V3", nil];
NSDictionary *dic2=[NSDictionary dictionaryWithObjects:key forKeys:value];
//NSLog(@"%@",dic2);
NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic2];
NSLog(@"%@",dic3);
}
void DicMethod(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"K1",@"V1",@"K2",@"V2",@"K3",@"V3", nil];
NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys:@"K1",@"V1",@"K1",@"V2",@"K3",@"V3", nil];
NSLog(@"%zi",[dic count]);//字典种右多少对key-value
NSLog(@"%@",[dic allKeys]);//字典种的所有keys
NSLog(@"%@",[dic allValues]);//字典中所有的values
NSLog(@"%i",[dic isEqualToDictionary:dic1]);
NSLog(@"%@",[dic objectForKey:@"V1"]);
NSArray *arr=[dic1 allKeysForObject:@"K1"];//通过value找对应多个key
NSArray *arr1=[NSArray arrayWithObjects:@"V1",@"V2",@"VG", nil];
NSArray *ARR= [dic objectsForKeys:arr1 notFoundMarker:@"BB"];
NSLog(@"%@",ARR);
}
void WriteFile(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
[dic writeToFile:@"/Users/ganchaobo/Desktop/2.txt" atomically:YES];
}
void ReadFile(){
NSDictionary *dic=[NSDictionary dictionaryWithContentsOfFile:@"/Users/ganchaobo/Desktop/2.txt"];
NSLog(@"%@",dic);
}
//第一次遍历
void bianli1(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
NSArray *arr=[dic allKeys];
for(id key in arr){
id obj=[dic objectForKey:key];
NSLog(@"Key-->%@ value--->%@",key,obj);
}
}
//第二种遍历
void bianli2(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
NSEnumerator *e= [dic keyEnumerator];
id key=nil;
while(key=[e nextObject]){
id obj=[dic objectForKey:key];
NSLog(@"Key-->%@ value--->%@",key,obj);
}
}
//第三种遍历
void bianli3(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
[dic enumerateKeysAndObjectsUsingBlock:^(id key,id value,BOOL *stop){
NSLog(@"Key-->%@ value--->%@",key,value);
}];
}
/key排序
void sort1(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"AC",@"3",@"AF",@"2",@"AE", nil];
NSArray *arr= [dic keysSortedByValueUsingSelector:@selector(compare:)];
//通过value排序,返回key集合
NSLog(@"%@",arr);
}
void sort2(){
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"AC",@"3",@"AF",@"2",@"AE", nil];
NSLog(@"%@",dic);
}
//NSMustableDictionary
void CreateMutableDic(){
NSMutableDictionary *mutableArray=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"V1",@"K1",@"V2",@"K2", nil];
NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithObject:@"AA" forKey:@"BB"];
//[mutableArray addEntriesFromDictionary:dic];//在字典种添加字典
//[mutableArray removeAllObjects];
//[mutableArray removeObjectForKey:@"K1"];//通过key移除键值对
//[mutableArray setDictionary:dic];//重新设置字典
//[mutableArray setObject:@"VV" forKey:@"K1"];//通过字典的key设置value
//[mutableArray setObject:[NSNull null] forKey:@"K1"];//通过key 设置value 为null
NSArray *arr=[NSArray arrayWithObjects:@"K1",@"K3" , nil];
[mutableArray removeObjectsForKeys:arr];//删除数组中相同的key对应的key-value
NSLog(@"%@",mutableArray);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
CreateMutableDic();
}
return 0;
}