介紹的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;
}
