码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

时间:2014-05-30 10:04:17      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:android   c   style   java   tar   http   


==========android培训、ios培训java培训、期待与您交流==========

一、NSSet:

 NSSet

  NSSet里面存储的元素没有顺序,NSArray中的元素有顺序。

  NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变。

 

  NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil];

  NSString *str = [s2 anyObject]; // 随机取出一个元素

 

NSMutableSet

  NSMutableSet s = [NSMutableSet setWithObject:@"jack"];

  [s addObject:@"rose"];

  [s removeObject:(id)];

 

二、NSDictionary和NSMutableDictionary

 <1>NSDictionary

创建一个NSDictionary 不可变
NSDictionary 是没有顺序的

key ------> value
键值对

// 创建方法
NSDictionary *dict = [NSDictionary dictionaryWithObject:(id) forKey:(id<NSCopying>)];

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"]
[dict objectForKey:(id)];

NSLog(@"%@",obj);


创建方法二

NSArry *keys = @[@"name",@"adress"];
NSArry *values = @[@"jack",@"北京"];

NSDictionary *dict = [NSDictionary dictionaryWithObjects:values forKeys:keys];

创建方法三:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"jack",@"name",
@"北京",@"adress",
@"351868695",@"qq",
nil];
id obj = dict objectForKey:@"qq"];

创建方法四:
编译器特性:
// 注意返回NSDictionary类型 创建可变字典不能用这中方法
NSDictionary *dict = @{@"name" : @"jack",@"adress" : @"北京"};

id obj = dict[@"name"];
NSLog(@"%@",obj);

dict.count;// 返回键值对的个数





<2>NSMutableDictionary

NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"北京" forKey:@"adress"];

[dict setObject:@"rose" forKey:@"name"]; // 把jack覆盖,
dict.count ;// 还是2 因为 rose覆盖了jack

[dict removeObjectForKey:(id)];


打印字典:
NSLog(@"%@",dict);结果是

{
adress = \U5317\U4eac;
name = rose;
}


字典的遍历
方法一:
NSDictionary *dict = @{@"qq" : "123",@"name" : @"jack"};
NSArray *keys = [dict allKeys]; // 该方法把字典中所有的key返回来,存到一个数组中,注意这里是无序的
for(int i = 0; i<dict.count; i++)
{
NSString *key = keys[i];
NSString *object = dict[key]; // 根据key的值取出value

NSLog(@"%@ = %@",key,object);
}

方法二:

[dict enumerateKeysAndObjectsUsingBlock:
^(id key, id obj,BOOL *stop){
NZLog(@"%@ - %@",key, obj);
}];


==========android培训、ios培训java培训、期待与您交流==========

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet),布布扣,bubuko.com

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

标签:android   c   style   java   tar   http   

原文地址:http://www.cnblogs.com/dream-corner/p/3756335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!