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