(五)
類的繼承能夠大大簡化**,公共的方法與例項變數寫在父類裡,子類只寫自己特有的。並且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年了。生活上,我被照顧...