20150624 OC之 class關鍵字

2021-07-03 14:45:55 字數 1996 閱讀 9773

@class關鍵字的使用及與#import的區別:

//

// classa.h

// ios150624_objectivec_@class關鍵字

//// created by pengjunlong on 15/6/24.

//#import //#import "classb.h" //會有迴圈鏈的存在,導致編譯無法展開,(classa與classb相互引用)

@class classb;

@inte***ce classa : nsobject

@property (copy,nonatomic)nsstring *name;

- (void)setclassb:(classb *)classb;

- (void)printclassbinclassa;

@end

//

// classa.m

// ios150624_objectivec_@class關鍵字

//// created by pengjunlong on 15/6/24.

//#import "classa.h"

#import "classb.h"

@implementation classa

- (void)setclassb:(classb *)classb

- (void)printclassbinclassa

@end

//

// classb.h

// ios150624_objectivec_@class關鍵字

//// created by pengjunlong on 15/6/24.

//#import #import "classa.h" //會有迴圈鏈的存在,導致編譯無法展開,(classa與classb相互引用),引用了當前類的型別以及類中的方法

//@class classa; //只引用這個類的型別,不引用這個類的方法

@inte***ce classb : nsobject

@property (copy,nonatomic)nsstring *name;

- (void)setclassa:(classa *)classa;

- (void)printclassainclassb;

@end

//

// classb.m

// ios150624_objectivec_@class關鍵字

//// created by pengjunlong on 15/6/24.

//#import "classb.h"

@implementation classb

- (void)setclassa:(classa *)classa

- (void)printclassainclassb

@end

//

// main.m

// ios150624_objectivec_@class關鍵字

//// created by pengjunlong on 15/6/24.

//#import #import "classa.h"

#import "classb.h"

//#import關鍵字,引用類的型別及類中定義的方法,若#import包含在標頭檔案中可能會導致迴圈包含,需要用@class關鍵字來打斷迴圈鏈

//@class關鍵字,只引用類的型別,不引用類中的方法.但是如果想使用類中的方法,需要在對應的.m檔案中用#import包含

//@class只是告訴編譯器存在這個型別,#import知道類內部資訊全部

int main(int argc, const char * argv)

return 0;

}

OC學習筆記之OC類你好

之前,小橋的mac系統是裝在虛擬機器中的,虛擬機器占用資源太大,想裝在實機上,所以這個星期都在搗鼓,終於完工!一 關於類 高階語言中似乎都有類的概念,c 中是從c的結構體而來。類是物件導向語言中的核心部分,物件導向的三大特性在類中都有具體表現!比如在c 類中,有封裝,有繼承,多型性有過載!相信oc中...

OC之構造方法

一 構造方法 一 構造方法的呼叫 完整的建立乙個可用的物件 person p person new new方法的內部會分別呼叫兩個方法來完成 2件事情,1 使用 alloc 方法來分配儲存空間 返回分配的物件 2 使用 init 方法來對物件進行初始化。可以把new 方法拆開如下 1.呼叫類方法 a...

OC學習筆記之block

一 什麼是block block是oc中的乙個資料型別,但是它很特別,因為它是用來儲存一段 的 可以理解為把一段 賦值給block型別的變數 它和函式有點相似,它可以帶引數,可以有返回值,呼叫方式也一樣。二 定義乙個不帶形參沒有返回值的block main.m block created by 葬花...