OC学习笔记之Foundation框架NSString与NSMutableString
来源:互联网 发布:索尼kdl55r580c装软件 编辑:程序博客网 时间:2024/06/05 23:51
一、NSString与NSMutableString
相信大家对NSString类都不陌生,它是OC中提供的字符串类,它的对象中的字符串都是不可变的,而它的子类NSMutableString类的对象中的字符串就是可变的。什么是可变与不可变呢?二者的区别就是在已经创建的一个字符串对象中,在程序中能不能更改字符串,比如拼接新的字符串,可变的可以在原字符串中更改,不可变的不能更改。
二、关于字符串的创建
1> OC字符串的创建小桥前面都已经用过,最简单就是下面这个:
1> OC字符串的创建小桥前面都已经用过,最简单就是下面这个:
// OC字符串的创建 NSString *str1 = @"葬花 桥";
2> 创建的一个字符串中要带有格式化的拼接字符串,可以这样:
// 格式化一个字符串 NSString *str2 = [[NSString alloc] initWithFormat:@"我的名字叫:%@--%d岁了", @"葬花 桥", 120];
NSString *str2 = [[NSString alloc] initWithFormat:@"我的名字叫:%@--%d岁了", @"葬花 桥", 120];3> C字符串与OC字符串的相互转换
// C字符串转换成OC字符串 NSString *str3 = [[NSString alloc] initWithUTF8String: "葬花 桥"]; // OC字符串转换成C字符串 const char *s = [str3 UTF8String];4> 以文件内容初始化字符串:
// 以文件内容来初始化字符串NSString *str4 = [[NSString alloc] initWithContentsOfFile:@"/Users/souhanaqiao/Desktop/soubanaqiao.txt" encoding:NSUTF8StringEncoding error:nil];
这一句后,str4中的字符串就是文件soubanaqiao.txt中的内容了,可以看下载图:
小桥觉得这就是OC中读取文件,上面的代码只能读取本地的文件内容,还有万能的,既能读本地的也能读网络上的
以上的字符串创建方法大部分都有类方法,如:
NSString有个对象方法 writeToFile是把字符串写入到文件中,
NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/souhanaqiao/Desktop/soubanaqiao.txt"]; NSString *str5 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];其中NSURL是OC中的资源地址类,它的对象表示的是一个资源的路径,不管是本地的还是网络的,但是本地与网络的协议不同,本地是file,网络的有http,有ftp等等。MJ老师说可以把百度网页的文本内容读取进来,小桥这里试试:
NSURL *baidu = [[NSURL alloc] initWithString:@"http://www.baidu.com"];NSString *str6 = [[NSString alloc] initWithContentsOfURL:baidu encoding:NSUTF8StringEncoding error:nil];
// [NSString stringWithFormat:<#(NSString *), ...#>]
// [NSString stringWithUTF8String:<#(const char *)#>]
// [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>]
三、写入字符串到文件NSString有个对象方法 writeToFile是把字符串写入到文件中,
NSString *str1 = @"桥"; // 将OC字符串写入到文件中,如果路径存在但文件不存在就创建文件 [str1 writeToFile:@"/Users/souhanaqiao/Desktop/wang.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];<span style="font-family: Arial;"> </span>这个方法会在路径中创建一个wang.txt文件并把str1的字符串写入到文件中,当然还可以用url,
// 将str1字符串写入到url中 NSURL *url = [NSURL URLWithString:@"file:///Users/souhanaqiao/Desktop/wang2.txt"]; [str1 writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
三、NSMutableString
NSMutableString类是NSString的子类,所以它的字符串对象的创建方法相同,当然它也有自己独有的方法,这些方法与它的可变字符串相关。下面小桥创建一个要可变的字符串:
NSMutableString类是NSString的子类,所以它的字符串对象的创建方法相同,当然它也有自己独有的方法,这些方法与它的可变字符串相关。下面小桥创建一个要可变的字符串:
// 创建可变字符串 NSMutableString *str1 = [[NSMutableString alloc] initWithFormat:@"小桥正在学习OC"];这里的可变字符串不能用 @"" 来直接创建,因为 @""创建的字符串对象是不可变的,也即是NSString类型的。既然是可变字符串,那么str1中可以增加字符串,如:
// 拼接一个字符串到str1后面 [str1 appendString:@"今天天气不好"];调用append方法在str1字符串的后面加上了一个字符串,那么现在str1中的字符串就为 小桥正在学习OC今天天气不好
可以拼接一个,当然也可以删除str1中的某个字符串,如:
NSRange range = [str1 rangeOfString:@"正在学习"]; // 找到 正在学习 的范围[str1 deleteCharactersInRange:range]; // 删除正在学习这里的NSRange是一个结构体,里面有两个成员,一个是下标一个是长度。
5 0
- OC学习笔记之Foundation框架NSString与NSMutableString
- OC学习笔记14--Foundation之NSString与NSMutableString常用方法
- Foundation框架学习之NSString和NSMutableString
- OC的Foundation框架-字符串(NSString与NSMutableString)
- OC基础:Foundation框架之NSString和NSMutableString
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
- 黑马程序员--OC学习篇之Foundation框架中的NSString对象和NSMutableString对象
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
- 黑马程序员-----oc语言学习笔记之foundation框架-NSString
- OC中Foundation框架字符串NSString和NSMutableString的使用
- OC入门之NSString类与NSMutableString的学习
- Foundation框架---NSString 和 NSMutableString
- OC学习NSString与NSMutableString字符串
- 黑马程序员---OC学习笔记之Foundation框架:NSString的基本使用
- Foundation中的NSMutableString与NSString
- Foundation 之 NSString和NSMutableString
- object-c中Foundation框架-NSString与NSMutableString
- hdu2241(二分+合并数组)
- 去掉Win7快捷方式小箭头
- 如何使用适配器的 与ListView、Spinner、GirdView 等组件进行数据绑定
- 2014Astar Problem - 1004 Labyrinth
- [BASIC-7] 特殊的数字
- OC学习笔记之Foundation框架NSString与NSMutableString
- 4.3 if 语句
- hdu 3068 Manacher算法 O(n)回文子串算法
- 海驾科目三训练及考试:
- [BASIC-8] 回文数
- linuxshell中"2>&1"含义
- 1>/dev/null 2>&1的含义
- 安装配有NVIDIA GRID K2服务器系统不能正常安装和其他的GPU卡如K20x不能正常安装原厂驱动
- SQL1032N 未发出启动数据库管理器的命令。SQLSTATE=57019 删除DB2数据库