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 祖宗 繼承的內容 所有例項變數和方法。如果子類...