OC之便利構造器和方法(筆記)

2021-06-22 17:12:45 字數 1296 閱讀 8534

oc便利構造器和方法:

方法名 又稱:selecter(選擇器)

-(返回型別)方法名:(引數型別)引數名

多引數函式:

-(返回型別)方法名:(引數型別)引數名 

and方法名:(引數型別)引數名 

and方法名:(引數型別)引數名

在靜態方法+裡面,最好不要呼叫self,已經不是當前物件。

單例模式:

在程式中,我需要一系列的物件,他們每乙個內部都包含有一組變數和功能,是靜態的,而且整個程式都只需要擁有乙個該類的物件。

例如:1、控制程式執行的命令器;

2、管理資料庫;

3、音效控制;

4、檔案處理等等。

main,m檔案

//---單例的記憶體位址內容的改變----

student

*st5=[student

sharedstudent];

st5.name=@"

慶平";

nslog(@"st5=%@",st5.name);

student

*st6=[student

sharedstudent];

st6.name=@"

志強";

nslog

(@"st5=6%@"

,st5.

name);

student.h檔案

//宣告單例

+(id) sharedstudent;

student.m檔案

//單例模式

static student *singleton;

+(id) sharedstudent

} return singleton;

}

定義屬性時:什麼情況下使用copy,assign,和retain。

assign用於簡單資料型別,如nsinterger ,double , bool, retain 和copy 使用者物件,copy用於當a指向乙個物件,b也想指向同樣的物件的時候,如果用assign ,a如果釋放,再呼叫b會crash,如果用copy的方式,a和b各自有自己的記憶體,就可以解決這個問題。retain會使計數器加一,也可以解決assign的問題。另外atomic和nonatomic 用來決定編譯器生成的getter和setter是否為原子操作。在多執行緒環境下,院子操作是必要的,否則可能引起錯誤的結構。加了atomic,setter函式會變成下面這樣:

if (property!=newvalue)

OC 繼承,便利構造器,初始化方法

zombie.h 自定義初始化方法的宣告 id initwithblood nsinteger blood attack nsinteger attack speed cgfloat speed 便利構造器 zombie zombiewithblood nsinteger blood attack ...

OC之繼承,初始化方法,便利構造器

1.繼承 是物件導向程式設計的乙個核心,在objective c的繼承體系中,位於最頂層的根類是nsobject,繼承的方向是單向的,而且只能繼承乙個父類。繼承具有傳遞性,例如 學生繼承於人類,大學生繼承於學生,則大學生不但具有學生的成員變數和方法,而且也具有人類的成員變數和方法。2.初始化方法 顧...

iOS開發之OC繼承 初始化方法 便利構造器

一 繼承 繼承的上層 父類,繼承的下層 子類。繼承是單向的,不能相互繼承。繼承具有傳遞性 a繼承於b,b繼承於c,a具有b和c的特徵和行 為。子類能繼承父類全部的特徵和行為。特點 oc中只允許單繼承。沒有父類的類稱為根類,oc中的根類是nsobject 祖宗 繼承的內容 所有例項變數和方法。如果子類...