Foundation框架中几乎天天都用到的类:
1、NSString(子类NSMutableString)
2、NSArray(子类NSMutableArray)
3、NSSet(子类NSMutableSet)
4、NSDictionary(子类NSMutableDictionary)
5、NSDate
1、NSString:不可变字符串,一旦定义,无法修改字符串
字符串的创建
NSString *s1 = @"jack";
NSString *s2 = [[NSString alloc] initWithFormat:@"age is %d", 10];
// C字符串 --> OC字符串
NSString *s3 = [[NSString alloc] initWithUTF8String:"jack"];
// OC字符串 --> C字符串
const char *cs = [s4 UTF8String];
// NSUTF8StringEncoding 用到中文就可以用这种编码
NSString *s4 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
等同于下面的方法:
NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
NSString *s5 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSMutableString:可变字符串,可以对字符串做相应修改
NSMutableString *s1 = [NSMutableString stringWithFormat:@“age is 10”];
NSString *s2 = [NSString stringWithFormat:@“age is 10”];
ppendString方法:拼接内容到s1的后面,无返回值[s1 appendString:@“11 12”];
deleteCharactersInRange方法:删除对应位置的某个长度的字符串
先确定要删除的字符串位置,删除对应位置的字符串:
NSRange range = [s1 rangOfString:@“is”];[s1 deleteCharactersInRange:range];
NSString拼接方法:原字符串s2没变化
NSString *s3 = [s2 stringByAppendingString:@“11 12”];
2、NSArray
NSArray的创建,nil是数组元素结束的标记
NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
NSArray的元素个数
NSLog(@"%ld", array3.count);
NSArray中元素的访问
NSLog(@"%@", [array3 objectAtIndex:1]);
NSMutableArray : 可变数组
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
// 添加元素
[array addObject:[[Person alloc] init]];
[array addObject:@"jack"];
// 删除元素
[array removeAllObjects];
// 删除指定的对象
[array removeObject:@"jack"];
3、NSSet(子类NSMutableSet)
NSSet和NSArray的对比
1> 共同点
* 都是集合,都能存放多个OC对象
* 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
* 本身都不可变,都有一个可变的子类
2> 不同点
* NSArray有顺序,NSSet没有顺序
// 随机拿出一个元素
NSString *str = [s2 anyObject];
// 添加元素
[s addObject:@"hack"];
// 删除元素
[s removeObject:@"hack"];
4、NSDictionary(子类NSMutableDictionary)
详解:见我的微博“OC中字典dictrionary的应用”
// 创建一个时间对象
NSDate *date = [NSDate date];
// 打印出的时候是0时区的时间(北京-东8区)
NSLog(@"%@", date);
NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
// 从1970开始走过的秒数
NSTimeInterval seconds = [date2 timeIntervalSince1970];
// 日期格式化类
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];