1.介面的宣告
儘管介面宣告是類宣告的一部分,但實際上oc將介面和實現分開是有其好處的,這樣介面宣告部分可以單獨拿出來使用(import),而oc的類則有介面宣告部分和介面的實現部分共同組成
@inte***ce person : nsobject-(
void
)setname:
(nsstring *
)name andage:
(int
) age;+(
void
)dowork:
(bool) fake;-(
void
)onejob:
(int
) number;
@end
2.方法宣告中返回值和引數的設定
返回值用括號引起來
形參需要使用冒號:,同時形參型別用小括號引起來(),形參名不放在小括號內
可變形參使用三個點…
-
(void
)setname:
(nsstring *
)name andage:
(int
) age;+(
void
)dowork:
(bool) fake;-(
void
)onejob:
(int
) number;
3.匯入類(類的宣告)
匯入類直接匯入類的宣告部分即.h部分(大多數時候這裡包含inte***ce介面部分的宣告)
使用@class 的方式引用其他類
#import "person.h"
@class class1,class2;
4.類的實現部分(介面的實現)
存放在.m檔案內
@implementation person+(
void
)dowork:
(bool) fake}-
(void
)setname:
(nsstring *
)name andage:
(int
) age-(
void
)onejob:
(int
) number
@end
5.類的例項化
例項化需要使用指標(類都是引用型別)
類名 * 例項名
person *p1=
[person alloc]
; person *p2=
[person new]
; person *p3=
[[person alloc]init]
;//init為初始化方法
[p1 onejob:(3
)];//執行方法體
6.self
self不能出現在類方法中,因為類方法的呼叫者是自己,而不是乙個例項,self多用在例項方法中確定乙個當前呼叫者。
-
(void
)setname:
(nsstring *
)name andage:
(int
) age
7.id型別
id可以存放任何型別
id p4=
[person alloc]
;[p4 onejob:(12
)];
8.id屬性
通過property來替代setter和getter方法,在實現檔案中使用synthesize取代getter和setter
.**件
@property
int sid;
@property
(nonatomic,retain) nsstring *name;
.m檔案
@synthesize sid,name;
IOS學習筆記 OC(二)
1.記憶體中的五大區域 棧 儲存區域性變數 堆 程式設計師手動申請的位元組空間 malloc calloc realloc函式 bss段 儲存未被初始化的全域性變數,靜態變數 資料段 常量區 儲存已被初始化的全域性,靜態變數,常量資料 段 儲存程式的 2.類載入 a.在建立物件的時候,肯定是需要訪問...
iOS開發學習筆記 OC基礎
for int i 0 i items count i for nsstring item in items 快速列舉的限制 如在迴圈體中增加或刪除物件,則不能使用快速列舉,這時只能用for迴圈。nslog函式負責將指定字串輸出到xcode控制台。nslog的實參個數並不確定,但第乙個實參是必須的,...
iOS學習筆記基礎 oc06記憶體管理
一 記憶體管理基本原理 1 棧存放區域性變數,系統自動 堆存放動態產生的儲存變數,需要手動 2 任何繼承了nsobject的物件都需要進行記憶體管理。3 每個oc物件都有自己的引用計數器,表示物件引用的次數,每個物件內部都有4個位元組儲存空間來儲存引用計數器。4 引用計數器的作用 當使用alloc ...