object-c学习札记:Foundation框架常用类(一)

object-c学习笔记:Foundation框架常用类(一)

 一、NSNumber类 

主要是用来将基本数据类型封装为对象

//创建NSNumber对象
        NSNumber *monthNumber = [NSNumber numberWithInt:03];
        NSNumber *lengthNumber = [NSNumber numberWithFloat:10.9];
        NSLog(@"monthNumber is %@", monthNumber);
        NSLog(@"lengthNumber is %@", lengthNumber);
        
        //NSNumber对象还原成基本数据类型
        int month = [monthNumber intValue];
        float length = [lengthNumber floatValue];
        NSLog(@"month = %d", month);
        NSLog(@"length = %.1f", length);

二、NSString类

//_____________________NSString_____________________
        // 创建一个常量字符串
        NSString *string1 = @"常量字符串";
        NSLog(@"string1 = %@", string1);
        
        // 创建一个空字符串
        NSString *string2 = [[NSString alloc] init];
        NSString *string3 = [NSString string];
        NSLog(@"string2 = %@", string2);
        NSLog(@"string3 = %@", string3);
        
        // 快速创建一个字符串  常量区
        NSString *string4 = [[NSString alloc] initWithString:@"实例方法快速创建字符串"];
        NSString *string5 = [NSString stringWithString:@"类方法快速创建字符串"];
        NSLog(@"string4 = %@", string4);
        NSLog(@"string5 = %@", string5);
        
        // 创建一个格式化字符串   堆区
        NSString *string6 = [[NSString alloc] initWithFormat:@"实例方法创建格式化字符串  number is %d", 10];
        NSString *string7 = [NSString stringWithFormat:@"类方法创建格式化字符串  float is %f", 10.8];
        NSLog(@"string6 = %@", string6);
        NSLog(@"string7 = %@", string7);
        
        // 在常量区所以地址相同
        NSString *string8 = [[NSString alloc] initWithString:@"aaa"];
        NSString *string9 = [NSString stringWithString:@"aaa"];
        
        // ==比较的是指向的地址
        if (string8 == string9) {
            NSLog(@"same pointer");
        } else {
            NSLog(@"different pointer");
        }
        
        // 比较字符串的内容
        if ([string8 isEqualToString:string9]) {
            NSLog(@"same content");
        } else {
            NSLog(@"different content");
        }

三、NSArray类


//_____________________NSArray_____________________
        // 数组的创建
        NSArray *array1 = [NSArray arrayWithObject:@"one"];
        NSArray *array2 = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
        NSArray *array3 = [NSArray arrayWithArray:array1];
        NSLog(@"array1 = %@", array1);
        NSLog(@"array2 = %@", array2);
        NSLog(@"array3 = %@", array3);
        
        // 取数组的长度
        int count = [array2 count];
        NSLog(@"count = %d", count);
        
        NSArray *array4 = [[NSArray alloc] initWithArray:array2];
        NSLog(@"array4 = %@", array4);
        
        // 取数组中指定位置的对象
        NSString *string1 = [array2 objectAtIndex:1];
        NSLog(@"string1 = %@", string1);
        
        // 将数组组成一个字符串
        NSString *string2 = [array2 componentsJoinedByString:@","];
        NSLog(@"string2 = %@", string2);
        
        // 判断数组中是否包含指定的对象
        BOOL isContain = [array2 containsObject:@"two"];
        NSLog(@"isContain : %d", isContain);
        
        // 返回指定对象在数组中的下标
        int index = [array2 indexOfObject:@"two"];
        NSLog(@"index = %d", index);
        
        // 返回数组中的最后一个对象
        NSString *string3 = [array2 lastObject];
        NSLog(@"string3 = %@", string3);
        
        ///////////////////////////
        // 可变数组 NSMutableArray;
        NSMutableArray *mutableArray1 = [NSMutableArray arrayWithObjects:@"one", @"two", @"three",  nil];
        NSLog(@"mutableArray1 = %@", mutableArray1);
        [mutableArray1 addObject:@"four"];
        NSLog(@"mutableArray1 = %@", mutableArray1);
        // 还有一系列的方法 insertObjectAt  remove等等
        // 在指定位置搜入一个数
        [mutableArray1 insertObject:@"four" atIndex:3];
        NSLog(@"mutableArray1 = %@", mutableArray1);
        // 删除指定的对象
        [mutableArray1 removeObject:@"one"];
        NSLog(@"mutableArray1 = %@", mutableArray1);
        // 替换
        [mutableArray1 replaceObjectAtIndex:2 withObject:@"4"];
        NSLog(@"mutableArray1 = %@", mutableArray1);
        
        /////////////////////////////
        // 数组的遍历
        //  这种方式遍历效率低
        int count1 = [mutableArray1 count];
        for (int i = 0; i < count1; i++) {
            NSLog(@"elecment : %@", [mutableArray1 objectAtIndex:i]);
        }
    
        // 效率高  当不确定对象的类型时,可以将NSString用id代替,用id时不要*
        for (NSString *str in mutableArray1) {
            NSLog(@"element:  --> %@", str);
        }