Object-C字符串昔穴,數(shù)組,NSNumber

一吗货、 學習查看類的基本信息

1. 繼承自誰

2. 遵循什么協(xié)議

3. 屬于什么框架

4. 從iOS哪個版本開始支持

二宙搬、 字符串類

1. NSString:不可變字符串

對象創(chuàng)建賦值以后,內(nèi)容和長度不能動態(tài)更改

2. NSMutableString:可變字符串

該類創(chuàng)建的字符串是一個動態(tài)的可變的字符串勇垛,可以支持增刪改查等動態(tài)的操作

3. 聯(lián)系

1) NSMutableString是NSString的子類闲孤,繼承的到所有方法

2) 不可變字符串的修改操作,本質(zhì)就是得到一個新的字符串

3) 不可變字符串的修改方法以string開頭讼积,有返回值

4) 可變字符串的修改方法沒有返回值,修改原字符串

三勤众、 字符串常用方法

1. 創(chuàng)建一個字符創(chuàng)常量

2. 快速創(chuàng)建一個字符串

3. 創(chuàng)建一個格式化的字符串

4. 字符串的比較

5. 字符串的轉(zhuǎn)換

6. 字符串的截取與拼接

NSMutableString方法

7. 增

8. 刪

9. 改

10.查

四、NSNumber,數(shù)值對象

用于將基本數(shù)據(jù)類型封裝為對象

三吕朵、數(shù)組類

1. 特點

1)容器類窥突,管理一組對象類型的數(shù)據(jù)

2)數(shù)組中元素是有序的,索引值從0開始

3) 數(shù)組中存儲的元素必須是對象茅坛,類型任意

2. 分為可變數(shù)組與不可變數(shù)組

四、數(shù)組常用方法

1. 數(shù)組對象的創(chuàng)建

2. 獲取數(shù)組中的元素個數(shù)以及訪問數(shù)組元素

3. 追加數(shù)組中的內(nèi)容

4. 數(shù)組轉(zhuǎn)字符串

5. 判斷數(shù)組中是否存在一個指定的對象

6. 根據(jù)指定的對象返回索引下標曹鸠、返回數(shù)組中最后一個元素

不可變數(shù)組

7. 新增

8. 插入

9. 刪除最后一個元素

10. 刪除指定的元素

11. 刪除指定位置的元素

12. 批量刪除

13. 替換元素

------------------NSString(不可變字符串)----------------

///////// 創(chuàng)建一個字符創(chuàng)常量

? ? ? ? NSString *string1 = @"you need cry,dear";

? ? ? ? NSLog(@"string1:%@\n",string1);

? ? ? ? //創(chuàng)建一個空的字符串

? ? ? ? NSString *string2 = [[NSString alloc]init];

? ? ? ? NSString *string3 = [NSString string];

? ? ? ? NSLog(@"string2:%@",string2);

? ? ? ?NSLog(@"string3:%@",string3);

///////////快速創(chuàng)建一個字符串 常量區(qū)(NSString)

? ? ? ? NSString *string4 = [[NSString alloc] initWithString:@"有你的快遞斥铺,dear"];

? ? ? ? NSString *string5 = [NSString stringWithString:@"有你的快遞,dear"];

? ? ? ? NSLog(@"string4 : %@", string4);

? ? ? ? NSLog(@"string5 : %@", string5);


//////////////// ?創(chuàng)建一個格式化的字符串 堆區(qū)

? ? ? ? NSString *string6 = [[NSString alloc]initWithFormat:@"整數(shù):%d",88];

? ? ? ? NSString *string7 = [[NSString alloc]initWithFormat:@"浮點數(shù):%f",88.8];

? ? ? ? NSLog(@"string6 : %@", string6);

? ? ? ? NSLog(@"string7 : %@", string7);


///////////////////// 字符串的比較

//比較內(nèi)容是否相等

? ? ? ? NSString *string8 = [NSString stringWithFormat:@"you need cry,dear"];

? ? ? ? NSString *string9 = [NSString stringWithFormat:@"有你的快遞邻眷,dear"];


? ? ? ? if ([string8 isEqualToString:string9]) {

? ? ? ? ? ? NSLog(@"相同的內(nèi)容");

? ? ? ? }else{

? ? ? ? ? ? NSLog(@"不同的內(nèi)容");

? ? ? ? }

//比較字符串是否為一個對象,也就是說在比較這兩個字符串是否在同一塊內(nèi)存地址內(nèi)肆饶。

? ? ? ?NSString *string10 = [[NSString alloc]initWithFormat:@"b"];

? ? ? ? NSString *string11 = [[NSString alloc]initWithFormat:@"b"];

? ? ? ? if (string10 == string11) {

? ? ? ? ? ?NSLog(@"這兩個字符串是同一個對象岖常,也就是說這兩個字符串兩個在同一塊內(nèi)存內(nèi)");

? ? ? ? }else{

? ? ? ? ? ? NSLog(@"這兩個字符串不是同一個對象,也就是說這兩個字符串不在同一塊內(nèi)存內(nèi)");

? ? ? ?}

//比較字符串的大小

string10小于string11,result=-1,

string10等于string11,result=0,

string10大于string11,result=1

? ? ? ? NSComparisonResult result = [string10 caseInsensitiveCompare:string11];


? ? ? ? NSLog(@"result : %ld\n",result);


? ? ? ? //求字符串的長度

? ? ? ? NSLog(@"字符串11的長度=%ld",[string11 length]);

/////////////////////// 字符串的轉(zhuǎn)換

? ? ? ?NSString *string12 = @"HELLOW world";

? ? ? ? //將字母全部轉(zhuǎn)為大寫

? ? ? ? NSLog(@"upper : %@\n",[string12 uppercaseString]);

? ? ? ? //將字母全部轉(zhuǎn)為小寫

? ? ? ? NSLog(@"lower : %@\n",[string12 lowercaseString]);

? ? ? ?//每個單詞首字母轉(zhuǎn)化為大寫板惑,其余字母轉(zhuǎn)換為小寫)

? ? ? ? NSLog(@"capital : %@\n",[string12 capitalizedString]);

? ? ? ?//轉(zhuǎn)化為基本數(shù)據(jù)類型

? ? ? ? NSString *string13 = @"3.1";

? ? ? ? float pi = [string13 floatValue];

? ? ? ?NSLog(@"pi : %0.2f\n",pi);

? ? ? ?//字符串轉(zhuǎn)換成數(shù)組

? ? ? ? NSString *string14 = @"wasd qwer";

? ? ? ? NSArray *array = [string14 componentsSeparatedByString:@" "];

? ? ? ? NSLog(@"array : %@",array);

//////////////////// 字符串的截取與拼接

// 截取字符串

? ? ? ? NSString *string15 = @"wasdqwer";


? ? ? ? NSString *subString1 = [string15 substringFromIndex:4];//從第三個索引開始(包括第三個索引對應的字符)截取到最后一位

/ ? ? ?NSLog(@"subString1 : %@",subString1);


? ? ? ? NSString *subString2 = [string15 substringToIndex:4];//從0開始截取到第三個索引(不包括第三個索引對應的字符)

? ? ? ?NSLog(@"subString2 : %@",subString2);

? ? ? ? NSRange range = {0,4};

? ? ? ? NSString *subString3 = [string15 substringWithRange:range];

? ? ? ? NSLog(@"subString3 : %@",subString3);

? ? ? ? //字符串的拼接

? ? ? ? NSString *string16 = @"abc";

? ? ? ? NSString *string17 = @"xyz";


? ? ? ? NSString *appString1 = [[NSString alloc]initWithFormat:@"%@%@",string16,string17];


? ? ? ? NSString *appString2 = [string16 stringByAppendingFormat:@"%@",string17];


? ? ? ? ? ? ? ? NSString *appString3 = [string16 stringByAppendingString:string17];



? ? ? ? NSLog(@"appString1 : %@",appString1);

? ? ? ? NSLog(@"appString2 : %@",appString2);

? ? ? ? NSLog(@"appString3 : %@",appString3);

? ? ? ? //查找字符串

? ? ? ? NSString *link = @"abcdeftarget=_blankxyz";

? ? ? ? NSRange range1 = [link rangeOfString:@"target=_blank"];


? ? ? ?if (range1.location != NSNotFound) {

? ? ? ? ? ? NSLog(@"發(fā)現(xiàn)我要找的字符串");

? ? ? ? }

------------NSMutableString(可變字符串)------------

//PS: 之前對NSString(不可變字符串)做的所有操作咱們都是對整個字符串做的處理冯乘,無法對單個字符串進行增刪改查的操作∩辜校現(xiàn)在咱們使用NSMutableString(可變字符串)進行增刪改查

///////////////////// 增

NSMutableString *multableString1 = [[NSMutableString alloc]initWithString:@"abc"];

//插入一個字符串

[multableString1 insertString:@"...xyz" atIndex:3];

[multableString1 appendString:@"你好"];

NSLog(@"mutableString1 = %@",multableString1 );

/////////////////// 刪

//刪除字符串

[multableString1 deleteCharactersInRange:NSMakeRange(0, 3)];

NSLog(@"mutableString1 = %@",multableString1 );

///////////////////// 改

//修改字符串中的某一部分

[multableString1 replaceCharactersInRange:NSMakeRange(0,3) withString:@"??"];

NSLog(@"mutableString1 = %@",multableString1 );

//////////////////// 查

//查找某一個字符串

NSRange rangeOfheart =? ? [multableString1 rangeOfString:@"??"];

if (rangeOfheart.location != NSNotFound) {

NSLog(@"找到你的心了");

}

//在C語言階段咱們定義一個字符串變量的格式如下:

char *cString; // char是字符的數(shù)據(jù)類型丐怯,cString是變量名,*是指針,在這里他起到的作用是棕孙,代表cString是一個字符串變量

//在OC階段定義一個字符串變量的格式是一樣的

NSString *ocString; //然而此時NSString在OC中不再叫做數(shù)據(jù)類型,而是叫做類钦铺,ocString也不再叫做變量名而是叫做對象肢预。*此時還是指針,代表聲明的這個對象是是NSString類型。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末噩峦,一起剝皮案震驚了整個濱河市抽兆,隨后出現(xiàn)的幾起案子辫红,更是在濱河造成了極大的恐慌,老刑警劉巖贴妻,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件名惩,死亡現(xiàn)場離奇詭異,居然都是意外死亡绢片,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門巢株,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熙涤,“玉大人,你說我怎么就攤上這事那槽〉忍颍” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵甚牲,是天一觀的道長蝶柿。 經(jīng)常有香客問我,道長交汤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任星岗,我火速辦了婚禮伍茄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敷矫。我一直安慰自己,他們只是感情好榨汤,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布怎茫。 她就那樣靜靜地躺著,像睡著了一般蜜宪。 火紅的嫁衣襯著肌膚如雪祥山。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天澳窑,我揣著相機與錄音供常,去河邊找鬼。 笑死栈暇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的煎源。 我是一名探鬼主播新博,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼脚草,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了埂淮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤讲仰,失蹤者是張志新(化名)和其女友劉穎痪蝇,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躏啰,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡给僵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔓同。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹲诀。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖珊佣,靈堂內(nèi)的尸體忽然破棺而出披粟,到底是詐尸還是另有隱情,我是刑警寧澤守屉,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布拇泛,位于F島的核電站,受9級特大地震影響俺叭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜熄守,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望攒发。 院中可真熱鬧,春花似錦羔砾、人聲如沸偶妖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腹缩。三九已至,卻和暖如春藏鹊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背楚殿。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工竿痰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人变隔。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓蟹倾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲜棠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容