Foundation框架中常用的类有: NSString 、 NSArray 、 NSSet 、 NSDictionary 、 NSMutableString、NSMutableArray、NSMutableSet、NSMutableDictionary 、 NSDate、NSObject。
可变和不可变的区别是对象内容的可变和不可变,子类继承父类,子类可以使用父类中的任意方法。
一、NSString类
使用举例:
// 创建无参数的字符串
NSString *str2 = [[NSString alloc] initWithString:@"Jack"];
// 创建带参数的字符串
NSString *str3 = [[NSString alloc] initWithFormat:@"age is %d",10];
// 创建无参数的字符串
NSString *str2 = [NSString stringWithString:@"Jack"];
// 创建带参数的字符串
NSString *str3 = [NSString stringWithFormat:@"age is %d",10];
// C字符串 转换为 OC字符串
NSString *str4 = [NSString stringWithUTF8String:"Rose"];
二、NSMutableString类
使用举例:
NSString *str = [NSString stringWithFormat:@"My age is 10 "];
NSString *str2 = [str stringByAppendingString:@"11 12"];
NSLog(@"%@",str2);
NSMutableString *mutalbeStr = [NSMutableString stringWithFormat:@"My age is 10 "];
[mutalbeStr appendString:@"11 12"]; // appendString方法没有返回值,说明是直接str字符串后面进行拼接
NSLog(@"%@",mutalbeStr);
NSRange range = [mutalbeStr rangeOfString:@"11"];
[mutalbeStr deleteCharactersInRange:range];
NSLog(@"%@",mutalbeStr);
三、NSArray类
使用举例:
// 第一种方式:
NSArray *array = [NSArray arrayWithObjects:@"Jack",nil];
// 数组中包含了两个NSString对象 nil用来标识数组元素结束的标识
// 因此OC数组中不能存放空对象
NSArray *array1 = [NSArray arrayWithObjects:@"Jack",@"Rose", nil];
// 第二种方式:
NSArray *array2 = @[@"Jack",@"Rose"];
NSUInteger count = [array1 count];
NSLog(@"%ld",count);
NSString *str1 = [array1 objectAtIndex:0];
NSString *str2 = array1[0];
四、NSMutableArray类
举例:
NSMutableArray *mutableArray = [NSMutableArray array];
Person *person = [[Person alloc] init];
[mutableArray addObject:person];
[mutableArray addObject:@"Jack"];
[mutableArray addObject:@"John"];
[mutableArray removeObject:@"John"];
[mutableArray removeObjectAtIndex:0];
五、NSSet类
例子:
NSSet *set = [NSSet set]; // 一旦创建为空永远为空
NSSet *set2 = [NSSet setWithObjects:@"Jack",@"Rose",@"Jim",nil];
// 随机获取NSSet集合中的元素
NSString *str = [set2 anyObject];
NSLog(@"%@",str);
六、NSMutableSet类
例子:
NSMutableSet *mutableSet = [NSMutableSet set];
[mutableSet addObject:@"Jack"];
[mutableSet addObject:@"Rose"];
[mutableSet removeObject:@"Jack"];
七、NSDictionary类
例子:
// 1.创建一个空的字典集合类型
NSDictionary *dic = [NSDictionary dictionary];
//2.创建只有一组值的字典集合
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"Jack" forKey:@"name"];
// 3.创建多个值的字典集合
NSArray *keys = @[@"name",@"address",@"e-mail"];
NSArray *values = @[@"Jack",@"北京",@"jack@163.com"];
NSDictionary *dic3 = [NSDictionary dictionaryWithObjects:values forKeys:keys];
// 4.通过值/键的方式来创建
NSDictionary *dic4 = [NSDictionary dictionaryWithObjectsAndKeys:
@"Jack",@"name",
@"北京",@"address",
@"jack@163.com",@"e-mail",
nil];
// 5.类似于数组的创建方式
NSDictionary *dic5 = @{@"name":@"Jack",@"address":@"北京",@"e-mail":@"jack@163.com"};
八、NSMutableDictionary类
例子:
NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary];