我學習Object C中的收穫總結(五)(六)

2021-07-06 03:26:11 字數 2639 閱讀 2257

(五)

類的繼承能夠大大簡化**,公共的方法與例項變數寫在父類裡,子類只寫自己特有的。並且oc裡沒有多繼承,只能單繼承。多級繼承之後,執行方法時是現在本類中找,沒有就在父類中找,逐級向上。

子類重寫父類的方法了又想呼叫父類的這個方法,用super呼叫。例:[super 父類方法]

遍歷構造器:它是乙個加號方法,封裝了alloc與init方法,更簡潔了

.h檔案:

+ (instancetype)personwithname:(nsstring *)name;

- (instancetype)initwithname:(nsstring *)name;

.m檔案:

+ (instancetype)personwithname:(nsstring *)name

- (instancetype)initwithname:(nsstring *)name

main:// 便利構造器建立物件

person *person = [person

personwithname:@"

遞迴"];

(六)foundation框架:包括了字串,集合,日期,時間等基礎類。

1.nsstring與nsmutablestring,不可變字串與可變字串

nsstring建立出來的物件,內容與長度都不能變化。nsmutablestring則可以任意變化。

其實nsmutablestring是nsstring的子類,繼承了所有的方法。

經常用的方法是拼接,替換,比較,切割,分段等。

不可變字串:

拼接:

nsstring *string1 = [[nsstring

alloc] init];

string1 = @"張";

nsstring *string2 = [[nsstring

alloc] init];

string2 = @"三";

nsstring *string = [content substringfromindex:4];// 獲得

content

字串從下標為

4的位置以後,所有的內容

nsstring *string = [content substringtoindex:4];// 獲得

content

字串從

0下標開始到第四下標開始的所有內容

nsstring

*string = [content

substringwithrange

:nsmakerange(2

, 3)];// 

獲得content

字串從第

2個下標開始的一共長度為

3的子串

替換:

nsstring

*string = [message stringbyreplacingoccurrencesofstring:

@"h"

withstring:

@"pa"

];// 遍歷每個字元,用後面的替換前面的

查詢:nsstring

*string = @"6af6ds4xcv566l,6.jhl4fg4f6jhdf4ghd";

nsscanner *scanner = [nsscanner

scannerwithstring:string];// 查詢的功能是找出數字

while (![scanner isatend] && ++scanner.scanlocation)// 遍歷找出數字

} 分段:

nsstring

*string = @"xiaohao,lewis,mouxiangyang";

nsarray

*array = [string componentsseparatedbystring:

@","

];// 在遇到逗號時就開始分段

不可變字串:

拼接:nsmutablestring*mutablestring = [[nsmutablestring

alloc

] init];

[mutablestring

:@"張"];

[mutablemessage replaceoccurrencesofstring:

@":"

withstring:

@"#"

options:

0range:nsmakerange(

0, [mutablemessage length])];// 後面的字元替換前面的字元,range後標明的是從第乙個字元到最後乙個開始替換

可變字串還支援增刪改查等動態的操作。不可變字串得有乙個返回值,而可變字串沒有,直接修改原來的字串。

2.陣列(可變與不可變)

可變陣列nsmutablearray繼承於不可變陣列nsarray,可變陣列增刪改的功能都是針對自己,產生新的陣列,而不可變陣列則每次變化都要有乙個新的陣列接受資料,原來的陣列不變。

而且oc的陣列裡的元素型別隨意,不如c那麼死板。元素在陣列中的索引值從0開始。

遍歷時也可以像c的陣列一樣利用索引值用for迴圈遍歷,後面也會有別的遍歷方法。

nsnumber是將基本資料型別封裝為物件,用來為基本資料型別和資料物件之間轉換服務。

我學習Object C中的收穫總結(三)(四)

三 具體的來講.h與.m檔案 在.h裡的 inte ce與 end之間在乙個大括號裡建立類的例項變數 nsstring name nsstring gender nsstring hobby int age 基礎型別不用加 oc裡的自定義型別都需要加 與指標類似 h檔案裡方法的宣告 上次說到了減號開...

我的最大收穫

我的最大收穫 左直拳功夫大師李小龍在他自傳性質的文章中曾經說,這輩子最大的收穫不是在功夫上,也不是在電影或電視上,而是娶到了一位好太太。她人很賢惠,處處遷就丈夫,每天李小龍下班回家,甚至可以幫他脫鞋子。李小龍是我的偶像。對他說的這一點,我也感同身受。真幸運。我跟老婆結婚已經快7年了。生活上,我被照顧...

我的最大收穫

我的最大收穫 左直拳功夫大師李小龍在他自傳性質的文章中曾經說,這輩子最大的收穫不是在功夫上,也不是在電影或電視上,而是娶到了一位好太太。她人很賢惠,處處遷就丈夫,每天李小龍下班回家,甚至可以幫他脫鞋子。李小龍是我的偶像。對他說的這一點,我也感同身受。真幸運。我跟老婆結婚已經快7年了。生活上,我被照顧...