您的位置:首页 > 职场人生

黑马程序员——Foundation框架字典、集合类、反射

2015-08-13 19:03 656 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

集合类的总结:

 NSArray        ArrayList

 NSSet          HashSet

 NSDictionary   HashMap

 1.NSArray\NSMutableArray

 有序

 快速创建(不可变):@[obj1,obj2,obj3]

 快速访问元素:数组名[i]

 2.NSDictionary\NSMutableDictionary

 无序

 快速创建(不可变):@{key1:value1,key2:value2}

 快速访问元素:字典名[key]

 3.NSSet\NSMutableSet

 无序

#import
int main()
{
NSArray *persons = @[
@{@"name":@"jack",@"qq":@"123",@"book":@[@"book1",@"book2"]},
@{@"name":@"rose",@"qq":@"1234"},
@{@"name":@"jim",@"qq":@"12345"}
];
//NSDictionary *jim = persons[2];
//取出一本书
NSString *book = persons[0][@"book"][1];
//取出书的数组
NSArray *books = persons[0][@"book"];
NSLog(@"%@",books);
//先取出1位置对应的字典
//再取出字典种qq这个key对应的数据
NSLog(@"%@",persons[1][@"qq"]);
return 0;
}
void use4(){
//字典是无序的
//字典不允许有相同的key,但允许有相同的value(Object)
NSDictionary *dict = @{
@"address" : @"beijing",
@"name" : @"jack",
@"qq" : @"1231231"};

[dict enumerateKeysAndObjectsUsingBlock:
^(id key, id obj, BOOLBOOL *stop){
NSLog(@"%@-%@",key,obj);
//若想遍历一次就停止:
*stop = YES;
}
];
}
void use3(){

}
void use2(){
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
//添加键值对
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"beijing" forKey:@"address"];
[dict setObject:@"rose" forKey:@"name"];//当再次给key赋值,会覆盖先前的值
//删除
//[dict removeObjectForKey(id)];

NSString *str = dict[@"name"];
NSLog(@"%@",str);
//NSLog(@"%@",dict);//字典打印方式
//NSLog(@"%@",@[@"jack",@"rose"]);//数组打印方式
}
void use(){

//第一种
//NSDictionary *dict=[NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];
//第二种

//第三种

NSDictionary *dict = @{@"name" : @"jack",@"address" : @"beijing:"};
//id obj = [dict objectForKey:@"name"];
id obj = dict[@"name"];
NSLog(@"%@",obj);
NSLog(@"%ld",dict.count);//返回键值对的个数

}


 

反射

 

//类名的反射:
NSString *str = @"Person";
Class class = NSClassFromString(str);
Person *person = [[class alloc] init];
//Class变成字符串
NSString *name = NSStringFromClass([Person class]);
//方法的反射
NSString *method = @"test";
SEL selector = NSSelectorFromString(method);
[person performSelector:selector];
//将SEL转换为字符串
NSString *selectorName = NSStringFromSe


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: