Nsstring的创建方法很多有从文件读取、URL读取、普通C语言字符串创建等对于这种创建最好代码演示
1.//在OC中只要在普通的字符串C语言字符串前面加上@就可以变成了NSString对象
NSString *first = @"first Nsstring";
//%@是调用对象中的descrition 方法相当于JAVA中的toString方法
NSLog(@"%@",first);
2.//使用动态方法创建
NSString *tow= [[NSStringalloc]initWithFormat:@"the %i Nsstring is tow",2];
NSLog(@"%@",tow);
//由于使用了动态方法创建所以需要对计数器进行减一
[tow release];
3.//使用静态的方法进行创建Nsstriing
//该方法会报警告但是不影响使用。因为苹果公司不建议我们使用该方法进行创建
NSString *three = [NSStringstringWithString:@"static method creat Nsstring"];
NSLog(@"%@",three);
4.//将一个C语言的字符串变成NSString, 第二个参数是指定编码方式下面为系统给我们提供的编码方式我们可以看出是一个枚举类。如果我们使用NSASCIIStringEncoding编码来
// 进行对中文进行转换会出现乱码的。
// NSString *four= [NSString stringWithCString:"这是一个C语言的字符转换成NSString" encoding:NSASCIIStringEncoding];
// 打印结果2014-04-16 22:11:46.918 NNstring类的使用[737:303] èˉaCèˉ-è¨-|èNSString
// enum {
// NSASCIIStringEncoding = 1,/* 0..127 only */
// NSNEXTSTEPStringEncoding = 2,
// NSJapaneseEUCStringEncoding = 3,
// NSUTF8StringEncoding = 4,
// NSISOLatin1StringEncoding = 5,
// NSSymbolStringEncoding = 6,
// NSNonLossyASCIIStringEncoding = 7,
// NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */
// NSISOLatin2StringEncoding = 9,
// NSUnicodeStringEncoding = 10,
// NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */
// NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */
// NSWindowsCP1253StringEncoding = 13, /* Greek */
// NSWindowsCP1254StringEncoding = 14, /* Turkish */
// NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */
// NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */
// NSMacOSRomanStringEncoding = 30,
//
// NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */
//
// NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
// NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
//
// NSUTF32StringEncoding = 0x8c000100,
// NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */
// NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */
// };
// typedef NSUInteger NSStringEncoding;
NSString *four= [NSStringstringWithCString:"这是一个C语言的字符转换成NSString" encoding:NSUTF8StringEncoding];
NSLog(@"%@",four);
5.//格式化的方式进行创建对象
NSString *five= [NSStringstringWithFormat:@"format Nsstring %i",5];
NSLog(@"%@",five);
6.//直接以UTF-8编码进行创建NSString。接受参数是一个C语言字符串
NSString *six= [NSStringstringWithUTF8String:"我是C语言字符串6"];
NSLog(@"%@",six);
7.//读取文件进行创建字符串,从该方法中我们看到是一个指针的指针因此我们传得是一个地址
NSString *path = @"/Users/calvin/Desktop/test.txt";//我这个文件中的内容是123456
NSError *error;
NSString *fileNSString= [NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncodingerror:&error];
if(error){
NSLog(@"读取错误%@",error );
}else{
NSLog(@"%@",fileNSString); //打印结果123456
}
8.//从url中读取字符串创建对象
//创建一个url
NSURL *url= [NSURLURLWithString:@"http://baidu.com"];
NSError *urlError;
NSString *urlNSString = [NSStringstringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:&urlError];
NSLog(@"%@",urlNSString);
if(urlError){
NSLog(@"错误%@",error );
}else{
NSLog(@"成功");
}
9.//把我们创建的字符串写到文件去
NSString *outFile = @"我要写到文件去";
NSString *path2 = @"/Users/calvin/Desktop/test.txt";
NSError *writerError;
[outFile writeToFile:path2 atomically:trueencoding:NSUTF8StringEncodingerror:&writerError];
if(writerError){
NSLog(@"写入错误%@",error );
}else{
NSLog(@"写入成功");
}
转载于:https://blog.51cto.com/8551527/1396772