#import <Foundation/Foundation.h>
/*
NSString :不可变字符串
NSMutableString:可变字符串
*/
<pre name="code" class="objc">//字符串创建的多种方式
NSString* stringCreate()
{
/*
字符串的创建
*/
NSString *s1 = @"24345";
NSString *s2 = [[NSString alloc]initWithString:@"343"];//使用第一种方便
NSString *s3 = [[NSString alloc]initWithFormat:@"%d",243];
//C字符串 --> OC字符串
NSString *s4 = [[NSString alloc]initWithUTF8String:"sdf"];
//OC字符串 -->C字符串,返回const char*
const char *cs = [s4 UTF8String];
//NSUTF8StringEncoding用到中文可以使用此种编码
NSString *s5 = [[NSString alloc]initWithContentsOfFile:@"/Users/mac/Desktop/模型设计练习.txt" encoding:NSUTF8StringEncoding error:nil];
//NSLog(@"\n%@",s5);
// URL : 资源路径
// 协议头://路径
// file://
// ftp://
// http://
// http://weibo.com/a.png
//url添加协议头
//NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/模型设计练习.txt"];
//NSURL *url3 = [NSURL URLWithString:@"file:///Users/mac/Desktop/模型设计练习.txt"];
//此方法为本地文件路径不用加协议头
NSURL *url2 = [NSURL fileURLWithPath:@"/Users/mac/Desktop/模型设计练习.txt"];
NSString *s6 = [[NSString alloc]initWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
//NSLog(@"s6 = %@",s6);
/*
一般都会有一个类方法跟对象方法配对
[NSURL URLWithString:<#(NSString *)#>]
[NSString stringWithFormat:(NSString *), ...]
[NSString stringWithContentsOfFile:<#(NSString *)#> usedEncoding:<#(NSStringEncoding *)#> error:<#(NSError *__autoreleasing *)#>]
[NSString stringWithContentsOfURL:<#(NSURL *)#> usedEncoding:<#(NSStringEncoding *)#> error:<#(NSError *__autoreleasing *)#>]
*/
return s6;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//可变字符串
NSMutableString *mustr = [NSMutableString stringWithFormat:@"asdfds"];
NSLog(@"mustr = %@",mustr);
//appendString在原来字符串的末尾拼接字符串,没有返回值直接改变原字符串
[mustr appendString:@"111"];
NSLog(@"appended mustr = %@",mustr);
//获取指定字符串的范围
NSRange ra = [mustr rangeOfString:@"fd"];
[mustr deleteCharactersInRange:ra];
NSLog(@"deleted mustr = %@",mustr);
//不可变字符串,内容不可变
NSString *str = [NSString stringWithFormat:@"afdsg"];
NSLog(@"str = %@",str);
//有返回值,返回拼接后的新字符串,原字符串不改变
NSString *str2 = [str stringByAppendingString:@"2222"];
NSLog(@"str2 = %@",str2);
};
return 0;
}
//把字符串导出写到文件中
void stringExport()
{
//字符串的导出
//atomically原子性,如果为yes则中途写入失败则不创建文件,否则写入失败仍然创建文件
NSString *str = stringCreate();
[str writeToFile:@"/Users/mac/Desktop/test1.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSURL *url = [NSURL fileURLWithPath:@"/Users/mac/Desktop/test2.txt"];
[str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
}