介绍的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;
} |
相关推荐
详细的说明和用法 NSArray,NSSet,NSDictionary 以及他们子类的说明
主要介绍了Objective-C中NSNumber与NSDictionary的用法简介,虽然Objective-C即将不再是iOS的主流开发语言...well,需要的朋友可以参考下
基于 NSDictionary 的内存缓存,可以识别未保留的值。 特征 线程安全。 检测未使用的对象并删除它们。 在进入背景时删除未使用的对象。 在收到内存警告时删除所有对象。 用法 设置对象 [cache setObject: object...
要使用此代码,请覆盖 NSObject 的 description 方法,如下所示: - ( NSString *)description { NSDictionary *dictionary = [ NSDictionary dictionaryWithPropertiesOfObject: self ]; return [ NSString ...
-> NSDictionary (例如JSON Model类) 将NSManagedObject转换为NSDictionary(然后再次转换)。安装 pod 'ManagedMappingObject'用法1设置NSManagedObject类。 您可以使用轻松生成。 mogenerator -m ...
NSObject-序列化用法要运行示例项目, pod install克隆 repo,然后从 Example 目录运行pod install 。要求安装NSObject-Serialize 可通过。 要安装它,只需将以下行添加到您的 Podfile 中: pod "NSObject-Serialize...
用法 NSURLComponents *components = ... NSDictionary *params = @{ @" user " : @" archer " , @" password " : @" guest " }; components.queryItems = [params ks_queryItems ]; 设置 使用 pod "KSQueryItem...
是关于iOS开发语言部分Objective-C中字典对象NSDictionary的方法使用总结
块是Objective-C对象,也就是说它们可以被添加到像NSArray和NSDictionary这样的集合中,其还具有从封闭范围捕获值的能力。源码github.com/pro648/BasicDemos-iOS/tree/master/Block 块是一个独立的代码片段,...
集合的遍历操作是开发中最常见的操作之一,从C语言经典的for循环到利用多核cpu的优势进行遍历,开发中ios有若干集合遍历方法,本文通过研究和测试比较了各个操作方法的效率和优略势,并总结几个使用集合遍历时的小...
Xcode项目包含以下两个框架目标: :laptop: macOS(10.7或更高) :mobile_phone: iOS(8.0或更高版本) :open_book: 用法创建新包装要创建一个新LSFileWrapper使用-initDirectory的目录包装或-initFile常规文件包装...
5. 在需要用的地方导入“AlipayHeader.h”,并使用“[AlipayRequestConfig alipayWithPartner:...”方法进行支付 6. 在AppDelegate中处理事件回调(可直接复制下面内容): - (BOOL)application:(UIApplication *)...
1、整理UILabel、UIDevice、UIApplation、UIImage、UIImageView、UIView等UI相关的 category。 ...B、UIView添加设置位置的快捷操作方法 ...说明:使用方法同系统framework,支持IOS6以上的系统,不支持ARC
使用方法: MyURLClass *post = [MyURLClass urlGo]; post.DataBlock = ^(NSData *data){ NSError *error; if (data == Nil) { UIAlertView *alt = [[UIAlertView alloc]initWithTitle:@"提示" message:@"网络...
使用方法:1.设值:setValue(值, 键); 2.取值:getValue(键); 3.对象名或变量名转字符串充当KEY: NSString *varName = vs(对象或变量); 4.获取工具类单例:SHTPV 5.获取数据存储字典:NSDictionary *dict = ...
使用方法:1.设值:setValue(值, 键); 2.取值:getValue(键); 3.对象名或变量名转字符串充当KEY: NSString *varName = vs(对象或变量); 4.获取工具类单例:SHTPV 5.获取数据存储字典:NSDictionary *dict = ...
因此,我在NSDictionary中添加了一些方法,这些方法允许从标准字典创建Core Foundation对象,例如 NSDictionary *p = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:1.2f] forKey:[NSNumber ...
用法 RACJSONModel最重要的方法是parseSignalForObject: ,它将采用以下类型的参数: NSDictionary NSArray RACTuple 。 必须在其对应的JSONModel类上调用方法。 如果模型无法解析第一级键(在NSDictionary或...
使用 1. 初始化 #import "HeartBeat.h" [HeartBeat shareManager]; // 结束时调用 [[HeartBeat shareManager]stop]; 2. 调用方法 --------Block方法---------- [[HeartBeat shareManager] startHeartRatePoint:^...