#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//--------------------------NSDictionary-----------------------
//通过键-值对创建字典,先创建对象实例,再初始化对象
//- (instancetype)initWithObjectsAndKeys:(id)firstObject, , ...
NSDictionary * dic = [[NSDictionaryalloc] initWithObjectsAndKeys:
@"zhangsan",@"001",@"wangwu",@"002", nil];
//根据key返回对象值
NSString * s = [dic objectForKey:@"001"];
NSLog(@"%@",s);
//遍历字典,遍历出key,通过key得到object
for (NSString* key in dic) {
NSString* value = [dic objectForKey:key];
NSLog(@"%@",value);
}
NSArray *arrKey = [[NSArray alloc]initWithObjects:@"101",@"102",@"103",@"104", nil];
NSArray *arrValue = [[NSArray alloc]initWithObjects:@"张三",@"李四",@"王五",@"赵六", nil];
//通过现有的对象数组创建字典对象
//- (instancetype)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys
NSDictionary* dic2 = [[NSDictionary alloc]initWithObjects:arrValue
forKeys:arrKey];
for (NSString* key in dic2) {
NSString* value = [dic2 objectForKey:key];
NSLog(@"%@",value);
}
//通过类方法直接创建字典对象
NSDictionary *dd = [NSDictionary dictionaryWithObjects:arrValue
forKeys:arrKey];
for (NSString* key in dd) {
NSString* value = [dd objectForKey:key];
NSLog(@"%@",value);
}
//字典比较
//- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary
//字典中内容相等返回YES,否则返回NO
BOOL isEqual = [dd isEqualToDictionary:dic];
NSLog(@"%hhd",isEqual); //Output:0
BOOL isEqual2 = [dd isEqualToDictionary:dic2];
NSLog(@"%hhd",isEqual2); //Output:1
//--------------------------NSMutableDictionary-----------------------
//创建可变字典
NSMutableDictionary* mDic = [[NSMutableDictionaryalloc] init] ;
NSNumber* num01 = [[NSNumber alloc] initWithInt:1001] ;
NSNumber* num02 = [[NSNumber alloc] initWithInt:1002] ;
NSNumber* num03 = [[NSNumber alloc] initWithInt:1003] ;
NSNumber* num04 = [[NSNumber alloc] initWithInt:1004] ;
NSNumber* num05 = [[NSNumber alloc] initWithInt:1005] ;
NSString* name01 = @"小刚";
NSString* name02 = @"小明";
NSString* name03 = @"小强";
NSString* name04 = @"小红";
NSString* name05 = @"小霞";
//添加键值对
[mDic setObject:name01 forKey:num01];
[mDic setObject:name02 forKey:num02] ;
[mDic setObject:name03 forKey:num03] ;
[mDic setObject:name04 forKey:num04] ;
[mDic setObject:name05 forKey:num05] ;
//如果添加的新元素的key与原来的字典中的key一样
//将原来key所对应的值覆盖掉
//不会添加新元素空间
[mDic setObject:name05 forKey:num01] ;
for (NSNumber* num in mDic)
{
NSLog(@"name = %@", [mDic objectForKey:num]);
}
//删除所有元素
//[mDic removeAllObjects] ;
//根据key删除一个元素
[mDic removeObjectForKey:num03] ;
[mDic removeObjectForKey:num02] ;
[mDic removeObjectForKey:num02] ;
for (NSNumber* num in mDic)
{
NSLog(@"name = %@", [mDic objectForKey:num]);
}
//创建删除关键字数组,(根据多个key删除多个元素)
NSArray* arrayDel = [NSArray arrayWithObjects:num04,num05, nil];
//根据关键字数组删除元素
[mDic removeObjectsForKeys:arrayDel] ;
NSLog(@"\n");
for (NSNumber* num in mDic)
{
NSLog(@"name = %@", [mDic objectForKey:num]);
}
}
}
更多内容参考官方文档:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/doc/uid/20000140-SW11
相关推荐
Objective-C-如何创建和使用NSDictionary和NSMutableDictionary-Latest-2017-Hindi- 视频:-Yogesh Patel在Objective-C中使用NSDictionary和NSMutableDictionary的介绍。 在本频道中,我将在多部视频中讲授大多数...
NSDictionary NSMutableDictionary 增强 Import pod 'NSDictionary-Enhance', '~> 1.0.0' Usage #import "NSDictionary+VDEnhance.h" [NSDictionary vd_dictionaryWithDictionary:originDic mergeWithDictionary:dic...
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { if (...
详情请参见我的博文: http://blog.csdn.net/yang3wei/article/details/7804171
Software engineering,programming language,operating system,iOS,OS,iPhone,iPad objective c,cocoa touch,SDK,object oriented design,Apple,Macintosh,tools,language,runtime,Xcode,objective-...
Importpod 'IOS-QuickDevelopTools', '~> 1.0.3'IncludeIOS宏指令集合调整UISlider的滑动条高度NSDictionary NSMutableDictionary 增强调节音量获取UISearchBar内部输入控件textField和按钮控件Cancel Button判断...
@property(nonatomic,retain)NSMutableDictionary *attributes;//属性 @property(nonatomic,retain)NSMutableArray *childs;//下级子节点 @property(nonatomic,retain)NSString *name;//节点名称 @property...
YXC工具iOS开发工具[目录]文件解释说明YXCToolHeader宏定义,头文件导入YXCLog输出格式自定义kColorFromHexCode ...可以查看NSDictionary +崩溃主要是对NSDictionary , NSMutableDictionary一些数据安全做一层判断,减
目前只是处理了NSArray、NSMutableArray、NSDictionary和NSMutableDictionary的部分成员方法,避免其因为操作失误造成Crash。可以在各个文件.m的crashSafe_*****方法里面收集Crash原因。 要使用这个功能,需要调用 ...
AZFMDB u can fast and convenient use sqllite to develop ...* 支持 bool, int, float, NSInteger, NSUInteger, CGFloat, NSTimeInterval, @"NSNumber",@"NSDictionary",@"NSMutableDictionary",@"NSArray",@"NSMuta
支持:(NSMutableDictionary,NSMutableArray,NSArray,NSDictionary,NSDate,NSData,NSString,NSNumber,Int,double,float,Bool,char)类型 灵活:支持使用Sqlite函数进行查询,支持忽略模型类属