------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
NSDictionary
/*
集合
1. NSArray / NSMutableArray
有序
快速创建(不可变) : @[obj1,obj2,obj3];
快速访问元素 : 数组名[i];
2. NSSet / NSMutableSet
无序
3. NSDictionary / NSMutableDictionary
无序
快速创建 (不可变) : @{key1 : value1, key2 : value2}
快速访问元素: 字典名[key]
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
NSArray *persons = @[
@{@"name" : @"jack", @"qq" : @"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]},
@{@"name" : @"rose", @"qq" : @"767567"},
@{@"name" : @"jim", @"qq" : @"423423"},
@{@"name" : @"jake", @"qq" : @"123123213"}
];
NSString *BookName = persons[0][@"books"][0];
NSLog(@"%@",BookName);
return 0;
}
void test4()
{
//字典不允许有相同的key,但允许有相同的value(Object)
//字典是无序的
NSDictionary *dict = @{
@"address" : @"北京",
@"name" : @"jack",
@"name2" : @"jack",
@"name3" : @"jack",
@"qq" : @"123124"};
[dict enumerateKeysAndObjectsUsingBlock:
^(id key, id obj, BOOL *stop) {
NSLog(@"%@ - %@",key,obj);
}];
}
void test3()
{
NSDictionary *dict = @{@"name" : @"jack"};
[dict setValue:@"rose" forKey:@"name"];
NSLog(@"%@",dict);
}
void test2()
{
//添加键值对
NSMutableDictionary * dict = [NSMutableDictionary dictionary];
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"北京" forKey:@"address"];
//后边的name 覆盖前边的name
[dict setObject:@"rose" forKey:@"name"];
NSLog(@"%@",dict);
//移除键值对
[dict removeObjectForKey:@"name"];
//NSString *str = dict[@"name"];
NSLog(@"%@",dict);
}
void test()
{
//字典
//key-----value(Object)
//索引-----文字内容
//里面存储的东西都键值对
NSDictionary *dict = @{@"name" : @"jack" , @"age" : @"10" ,@"address" : @"北京"};
//访问
id obj = dict[@"name"];
NSLog(@"%@",obj);
//返回键值对的个数
NSLog(@"%ld",dict.count);
}