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

OC--Foundtation

时间:2014-12-05 10:44:16      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   for   java   on   

/*

    NSRange  范围(location length)
    NSPoint\CGPoint  点
    NSSize\CGSize    ui元素的宽高
    NSRect\CGRect

*/


/*
    
    NSString    不可变字符串
    ->NSMutableString    可变字符串
        
        //NSRange r1 = {2, 4}; // 不用
        //NSRange r2 = {.location = 2, .length = 4};// 不用
        //NSRange r3 = NSMakeRange(2, 4); // 掌握
        NSString *str = @"i love oc";
    
        // 查找某个字符串在str中的范围
        // 如果找不到,length=0,location=NSNotFound==-1
        NSRange range = [str rangeOfString:@"java"];
        NSLog(@"loc = %ld, length=%ld", range.location, range.length);
        
        
    //下面三个都是集合类
    NSArray        有序 不可变数组
    ->NSMutableArray    可变数组
    
    /*
        
        Person *p = [[Person alloc] init];
        
        NSArray *array = @[p,@"jack"];
        
        /*
            for(int i = 0;i<array.count;i++){
                NSLog(@"%@",array[i]);
            }
            
            //id obj 代表着数组中的每一个元素
            //int i = 0;
            for(id obj in array){
                
                //找出obj元素在数组中的位置
                NSUInteger i = [array indexOfobject:obj]
                NSLog(@"%ld - %@", i, obj);
                //i++
            }
        */
        [array enumerateObjectsUsingBlock:
        
        //每遍历到一个元素,就会调用一次block
        //并且当前元素和索引位置当做参数传给block
        ^(id obj, NSUInteger idx,, BOOL *stop){
        
            NSLog(@"%ld - %@", idx, obj);
            
            if(idx == 1){
                //停止遍历
                *stop = YES;
            }
        }];
    */
    
    NSSet 无序 不可变
    ->NSMutableSet    可变
    
            NSMutableSet *s = [NSMutableSet set];
            
            [s addObject:@"adf"];
    
    NSDictionary    字典 
    ->NSMutableDictionary    
        //字典是无序
        //允许value相同,但key不能相同
    
    
        NSDictionary *d = @{@"name" : @"jack",@"adrress" :@"乐山"};
    
        NSMutableDictionary *dict = [NSMutableDictionary dictionary];
        
        [dict setObject:@"jack" forKey:@"name"];
        
        [dict setObject:@"乐山" forKey:@"adrress"];
    
        
        [dict enumerateKeysAndObjectsUsingBlock:
        ^(id key, id obj, BOOL *stop){
            NSLog(@"%@ - %@", key, obj);
        }
    
    /*
        字典:
            key     ------>    value
            索引    ------>    文字内容
            
            
            里面存储的东西都是键值对
    */
    
    NSNumber
        之所以能包装基本数据类型为对象,是因为继承了NSValue    
            
        //将各种基本数据类型包装成NSNumber对象
        @20;
        @10.5;
        @YES;
        
        @A;//NSNumber对象
        
        @"A";//NSString对象
        
        //将age变量包装秤NSNumber对象
        int  age = 100;
        @(age);
    
    NSValue
        // 结构体--->OC对象
    
        CGPoint p = CGPointMake(10, 10);
        // 将结构体转为Value对象
        NSValue *value = [NSValue valueWithPoint:p];
        
        // 将value转为对应的结构体
        // [value pointValue];
        
        NSArray *array = @[value ];
        
    NSDate
        int main()
        {
            // 09/10/2011
            NSString *time = @"2011/09/10 18:56";
            
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            formatter.dateFormat = @"yyyy/MM/dd HH:mm";
            
            NSDate *date = [formatter dateFromString:time];
            NSLog(@"%@", date);
            return 0;
        }


        void date2string()
        {
            NSDate *date = [NSDate date];
            
            
            // 日期格式化类
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            
            // y 年  M 月  d 日
            // m 分 s 秒  H (24)时  h(12)时
            formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
            
            NSString *str = [formatter stringFromDate:date];
            
            NSLog(@"%@", str);
        }
        
        
    NSObject

*/
NSSet 和 NSArray的对比
    1)共同点
        *都是集合,都能存放多个OC对象
        *只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
        *本身都是不可变,都有一个可变的子类
        
    2)不同点
        *NSArray有顺序,NSSet没有顺序

OC--Foundtation

标签:style   blog   io   ar   color   sp   for   java   on   

原文地址:http://www.cnblogs.com/ZhangYuGe/p/4145879.html

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