一、NSMutableString
NSMutableString是NSString的子类,相当于是一个字符串链表可以动态的在字符串中添加字符串、删除字符串、插入字符串等,能够较为灵活的操纵字符串。另外,NSString中的方法NSMutableString都可以使用。
1. NSMutableString 与 NSString 的区别:1)NSString是不可变字符串(即占用的存储空间固定,里面的内容不能进行修改),里面的内容不可进行修改
2)NSMutableString是可变的(占用的存储空间不固定,可以动态变化,里面的内容可以修改),里面的内容可以根据需要随时进行修改
2.常用用法:
NSMutableString的创建、字符串拼接
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//定义一个NSMutableString
NSMutableString *s1 = [NSMutableString string];
//从字符串末添加一个字符串
[s1 appendString:@"这是一个可变字符串!"];
NSUInteger a = s1.length;
//凭借一段格式化字符串到字符串末
[s1 appendFormat:@"有%ld个字符。", a];
NSLog(@"%@",s1);
return 0;
}
删除字符串中的指定字符串、或指定位置的字符串、在指定位置插入字符串、替换字符串中的某段字符串
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//定义一个NSMutableString
NSMutableString *s1 = [NSMutableString string];
//从字符串末添加一个字符串
[s1 appendString:@"这是一个可变字符串!"];
//删除可变字符串中“字符串!”这个子字符串,通常搭配rangeOfString使用
NSRange range = [s1 rangeOfString:@"字符串!"];
[s1 deleteCharactersInRange:range];
//在指定位置插入字符串
[s1 insertString:@"字符串!" atIndex:6];
//替换字符串中的指定字符串
[s1 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"这就是"];
NSLog(@"%@",s1);
return 0;
}
二、NSMutableArray
主要用法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//创建NSMutableArray
NSMutableArray *array = [NSMutableArray array];
NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"jim", @"rose", nil];
//向NSMutableArray中添加元素
[array addObject:@"jack"];
//删除指定位置的元素
[array1 removeObjectsAtIndexes:[NSIndexSet indexSetWithIndex:1]];
NSLog(@"%@",array1);
return 0;
}
三、NSDictionary
主要用法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//创建一个NSDictionary对象
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];
NSArray *keys = @[@"name",@"age"];
NSArray *objs = @[@"jack",@"20"];
NSDictionary *dic1 = [NSDictionary dictionaryWithObjects:objs forKeys:keys];
//编译器特性,快速创建NSDictionary
NSDictionary *dic2 = @{@"name" : @"jack", @"age" : @"20"};
//取出key对应的value
id obj = [dic objectForKey:@"name"];
id obj1 = dic1[@"age"];
//取出dictionary中键值对的对数
NSInteger a = dic2.count;
return 0;
}