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(@"寫入成功");
}