經過小半個月的學習oc學習結束了,或多或少的有些收穫與不足.
1首先學習物件導向與面向過程的區別;
開發中:先定義類,再建立物件,然後使用物件;
定義類包含了兩個部分:介面部分和實現部分
(1) 介面部分:對外宣告類的特徵和行為; 標誌( @inte***ce)
(2)實現部分:對內實現行為. 標誌(implementation)
2:self方法
self呼叫什麼方法,self就代表誰
3:實力變數的可見度
@public :公共的,對內對外都是可見的.訪問通過實力物件->實力變數
@protected:受保護的,對外不可見,對內才可以使用.
@private:私有的,只能自己訪問,對內對外都是不可見的.
注:預設的可見度都是@protected
4:setter 和 getter方法
接下來學習了繼承
(1)子類繼承父類保留自己獨有的例項變數
(2)繼承是單向的,並且具有傳遞性.
(3)子類可以重寫父類的方法
(4)self用來呼叫自己的方法,super來呼叫父類的方法;
5便利構造器
(1)快速建立物件,內部封裝了建立物件的過程.
(2)+號方法,返回值型別id型別,並且是以類名+with開頭,注意書寫規範.
5屬性(1) 屬性用來代替setter和getter方法,可以快速的建立和使用這兩個方法.關鍵字@propetry
(2)屬性的特性
readonly和readwrite 系統預設的是readwrite
(3) 有原子性和非原子性, 原子性可以保證安全 也是系統預設的
6記憶體:如果你對乙個物件進行alloc,retain,copy後,你就擁有了該物件,你必須要記性release和autorelease
引用計數加1的操作有:alloc, retain,copy
引用計數減1的操作有:release和autorelease
注:當該型別的引用物件的計數為0時,系統會自動呼叫該類的dealloc方法來**空間.
7字串管理
(1)建立可見與不可見字串
(2)獲取字串的長度nsstring length = [ str length];
(3)獲取某乙個字元
characteratindex;
(4)判斷字串是不是以某個字串開頭或者結尾
a:判斷開發hasprefix;
b:判斷結尾hassuffix;
(5)從字串獲取子字串
substringfromindex;
(6)字串拼接
8可見字串
1拼接
2刪除
deletecharactersinrange;
3插入insertstring:atindex;
4替換replacecharactersinrange:withstring;
9陣列1建立陣列物件(1)用便利構造器建立陣列物件
example:nsarray *arr1 = [ nsarray arraywithobjects:@"abc", nil];
(2)獲取元素個數
用count計數
(3)陣列排序
nsarray *arr2 = [arr1 sortedarrayusingselector:@selector(compare:);];
(4)快速遍歷
for(nsstring *str in arr)
10可變陣列
(1)建立陣列物件
(2)插入元素
insertobject
(3)刪除元素
removeobjectatindex
(4)替換元素
replaceobjectatindex : withobject
(5)交換位置
exchangeobjectindex
(6)遍歷
for(nsstring *str in ***)
11字典和陣列差不多
key和value
12集合:無序性
OC學習總結(一)
oc學習總結 一 知識要點 1 類 inte ce 頭檔案格式.h inte ce class name super class name property 點語法中可以方便使用 以後property關鍵字實現了三部分工作 成員變數的定義如 name 預設為private property和synt...
OC學習總結之block category
例子 用乙個block輸出n條橫線 void lineblock int int n lineblock 5 int sumblock int,int void myblock inta,intb typedef int myblock int,int 以後就可以利用myblock這種型別來定義bl...
OC 屬性總結
setter getter setter 方法的作用 為單一的變數賦值.setter 方法規範寫法 1.號方法,無返回值.名字以set開頭 要設定的變數的例項變數名 首字母要大寫 setter方法有且只有乙個引數 引數的型別 和例項變數型別相同 引數名 和例項變數名相同 getter 方法的作用 獲...