object-c foundation
场景:object-c学习札记:Foundation框架常用类(一)
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); }