OC學習筆記之類001(IOS開發從入門到精通)

2021-10-01 07:41:14 字數 2061 閱讀 9755

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 ...