oc學習之旅 簡單協議

2021-06-19 22:25:05 字數 1361 閱讀 5692

#import

#import "boss.h"

#import "coder.h"

int main(int argc, const

char * argv)

4.**方

**方遵守協議

協議》**實現介面

5.使用**時

必須設定** a.delegate = b

*/boss *b = [[[boss

alloc] init] autorelease];

coder *c = [[[coder

alloc] init] autorelease];

//將c設定為b的**

b.delegate = c;

[b work];

chief *chief = [[[chief

alloc] init] autorelease];

soldier *soldier=[[[soldier

alloc] init] autorelease];

chief.delegate = soldier;

[chief order];

}return0;}

coderprotocal.h

#import

//1.@protocol宣告乙個協議

《遵守nsobject協議》

@protocol coderprotocal

//不帶參不帶返回值

-(void) startcode;

@end

boss.h

#import

#import "coderprotocal.h"

//2.區分**預備**

@inte***ceboss :

nsobject

@property(nonatomic,assign) id<

coderprotocal

> delegate;

//工作

- (void)work;

@end

boss.m

@implementationboss

@synthesize delegate =_delegate;

- (void)work

}@end

coder.h

#import "coderprotocal.h"

//**方遵守協議

@inte***ce

coder :

nsobject

coder.m

//**規範:標記協議**讓**更清晰

#pragma mark -coderprotol

//實現協議

-(void)startcode

oc學習之旅 記憶體管理

因為以前的 都是使用非arc 手動管理 而arc還不太完善,因此學習非arc模式還是有必要的。在用非arc模式 引用計數器概念 oc中,在oc定義的型別都設計有乙個引用計數器retaincount。而oc中的引用分兩種,一種是強引用retain 對應arc中的strong 另一種是弱引用assign...

oc學習之旅 記憶體管理1

c語言中 每初始化一次物件 計數器為1 釋放物件時 計數器 1 被引用的指標計數器為0時 被引用該指標的記憶體自動釋放,引用指標成為野指標除了c 語言的基本資料型別外 oc中得類都加入了物件引用計數 retaincount 1.手動管理引用計數 2.自動管理引用計數 autorelease nsst...

OC學習 協議 類目和延展

定義乙個student類 import 協議studentprotocol protocol studentprotocol property nonatomic,assign nsinteger age void fun1 end student類遵循協議studentprotocol inte ...