日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OC本学习笔记Foundation框架NSString与NSMutableString

發布時間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OC本学习笔记Foundation框架NSString与NSMutableString 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?

一、NSString與NSMutableString
????? ? 相信大家對NSString類都不陌生。它是OC中提供的字符串類。它的對象中的字符串都是不可變的,而它的子類NSMutableString類的對象中的字符串就是可變的。

什么是可變與不可變呢?二者的差別就是在已經創建的一個字符串對象中,在程序中能不能更改字符串。比方拼接新的字符串。可變的能夠在原字符串中更改,不可變的不能更改。


二、關于字符串的創建
? ? ? ? 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中讀取文件。上面的代碼僅僅能讀取本地的文件內容,還有萬能的,既能讀本地的也能讀網絡上的

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 *str1 = [[NSMutableString alloc] initWithFormat:@"小橋正在學習OC"];?????? ? 這里的可變字符串不能用 @"" 來直接創建。由于 @""創建的字符串對象是不可變的,也即是NSString類型的。既然是可變字符串,那么str1中能夠添加字符串,如: // 拼接一個字符串到str1后面[str1 appendString:@"今天天氣不好"];調用append方法在str1字符串的后面加上了一個字符串,那么如今str1中的字符串就為 小橋正在學習OC今天天氣不好
能夠拼接一個。當然也能夠刪除str1中的某個字符串。如:

NSRange range = [str1 rangeOfString:@"正在學習"]; // 找到 正在學習 的范圍 [str1 deleteCharactersInRange:range]; // 刪除正在學習

這里的NSRange是一個結構體。里面有兩個成員,一個是下標一個是長度。




? ? ? ?

版權聲明:本文博客原創文章,博客,未經同意,不得轉載。

轉載于:https://www.cnblogs.com/mfrbuaa/p/4723839.html

總結

以上是生活随笔為你收集整理的OC本学习笔记Foundation框架NSString与NSMutableString的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。