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

黑马程序员——Foundation学习笔记(二)

时间:2015-04-24 09:20:25      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:ios   foundation   

——- android培训java培训IOS培训,期待与您交流! ———-
【1】上个笔记写NSString,其实开发常用的则是NSMutableString类的字符串,字面意思就是,后者是可变的,而前者是不可变的,其实这也是他们的本质区别。下面的就在码中进行详细表述:

NSString * s1 = @"yeahming";//创建不可变的字符串
//这里并没有提供可以改变s的任何方法,但是有一个和[ss appendFormat:@" best"];相似的,但是有质的区别的方法

NSString *s2 = [s1 stringByAppendingString:@"fan"];
//但是上面的方法是需要返回值的,就是说,他是需要再创建一个对象的,而非原来的s1,而是吧s1的值取过来拼接上"fan"再放进s2

NSMutableString *ss = [NSMutableString  stringWithFormat:@"yeahmingfan"];//创建可变的字符串,不可用上面的方式创建
[ss appendFormat:@" best"];//NSMutableString类创建的字符串是提供了可以改变的类方法的
NSLog(@"%@",ss);

上面的运行结果为:
技术分享
【2】下面就说说NSArray

NSArray *str0 = [NSArray arrayWithObjects:@"jim", @"man",@"29",nil];// 基本创建方式
    NSArray *str1 = @[@"jim", @"man",@"29"];// 简单的创建模式
    NSMutableArray *str = [NSMutableArray arrayWithObjects:@"Jim", @"man",@"29", nil];//@[@"jim", @"10岁",@"性别:男",nil];// 可变数组不可用上面的简单方式创建
    [str addObject:@"single"];// 可变数组可以改变的直观变现
    for (id obj in str) {
        NSLog(@"%@",obj);
    }// 这是第一种遍历数组的快速方法
    [str enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        NSLog(@"%ld-%@",idx,obj);
    }];// 这是第二种快速遍历的方式,而且更为好用
    NSLog(@"str1=%@\nstr=%@",str1,str);
    NSLog(@"str[1]=%@",str[1]);// 访问数组的相应位置,可以直接运用这种方式,他会自动将str[1]转换为[str objectAtIndex:1]
    NSUInteger count = str.count;// 计算数组的长度,即其中元素的个数

【3】其中NSSet只说几个注意点,因为用法和NSArray用法相似,但是:NSArray中对象时有序的,而NSSet中是无序的,这也就导致后者可能少了一些相应的方法
【4】接下来就是更常用的NSDictionary的使用,实际上和上面的两个也是一个集合,但是他是带有key的集合,通过key可以精确地找到相应的对象,在下面代码中进行说明:

  NSDictionary *dic = @{@"name":@"yeahming", @"sex":@"man"};//不可变字典集合最简单明了的创建方式
    NSLog(@"%ld",dic.count);//字典类的长度,其长度是一对一对计算的
    NSLog(@"%@",dic);
    [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        NSLog(@"%@=%@",key, obj);
    }];//与之前几个集合同样的简单遍历方式
    NSMutableDictionary *dic1= [NSMutableDictionary dictionaryWithObject:@"jack" forKey:@"EnglishName"];
    [dic1 setObject:@"China" forKey:@"country"];//添加元素
    [dic1 setObject:@"rose" forKey:@"name"];//如果添加的key之前就有的,则会覆盖之前这个key对应的元素,会覆盖之前的name key对应的name

黑马程序员——Foundation学习笔记(二)

标签:ios   foundation   

原文地址:http://blog.csdn.net/yeahmingfan/article/details/45224629

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