對自已的路雖不很明確,但不能僅止於現狀!
該做與不該做的,最少有一個指針在控管!
清楚明白自已的弱點所在,
就算只是一步、兩步還是慢慢前進。
「人生的課題,如果你沒有學會處理,
它就會一而再、再而三的讓你練習」
在進行歸納推理時,如果逐個考察了某類事件的所有可能情況,
因而得出一般結論,那麼這結論是可靠的,這種歸納方法叫做枚舉法
學習決定你的才識,讀書決定你的思想,社團決定你的人脈,創業決定你的膽略,生活決定你的品位
標籤
- 處事手法 (3)
- 實用 (62)
- 漫畫 (15)
- 廢言 (3)
- Design Pattern (2)
- English (6)
- GAME (32)
- java (12)
- programming (95)
2012年4月14日 星期六
Objective-C Protocol使用三步走
protocol应用两个controller之间或者controller与自定义UIView之间的相互调用。
它的应用类似java或者C#里的interface。假设A调用B,B回调A,那么就可以如此设计:
首先:定义一个protocal:
@protocol PtlChart
@optional
-(void) callBack:(id)arg;
@required
-(void) loadData;
@end
第二步:在B里定义protocal的delegate:
代码
//B.h
@interface B : UIView {
id<PtlChart> _delegate;
}
@property (nonatomic,retain) id<PtlChart> delegate;
@end
//B.m:
#import "B.h"
@implementation B
@synthesize delegate = _delegate;
- (void)dealloc {
[_delegate release];
}
@end
第三步:在A里调用B时,把delegate传递过去:
代码
//A.h:
@interface A : UIViewController<PtlChart>
@end
//A.m:
#import "A.h"
@implementation A
- (void) loadData {
A *a = [[A alloc] init];
[a setDelegate:self]; //<<--------- here
[self.view addSubview:a];
[a release];
}
-(void) callBack:(id)arg{
int i = (int)arg;
NSLog(@"callback= %d",i);
}
@end
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言