對自已的路雖不很明確,但不能僅止於現狀!
該做與不該做的,最少有一個指針在控管!
清楚明白自已的弱點所在,
就算只是一步、兩步還是慢慢前進。
「人生的課題,如果你沒有學會處理,
它就會一而再、再而三的讓你練習」
在進行歸納推理時,如果逐個考察了某類事件的所有可能情況,
因而得出一般結論,那麼這結論是可靠的,這種歸納方法叫做枚舉法
學習決定你的才識,讀書決定你的思想,社團決定你的人脈,創業決定你的膽略,生活決定你的品位
標籤
- 處事手法 (3)
- 實用 (62)
- 漫畫 (15)
- 廢言 (3)
- Design Pattern (2)
- English (6)
- GAME (32)
- java (12)
- programming (95)
2012年4月15日 星期日
objective-c delegate 使用声明方式
声明方式有两种:
一:非正式的方法
定义成员变量
id delegate; // A delegate that wants to act on events in this view
2.定义代理方法,这里使用到的是objective-c 的协议
@interface NSObject ( BViewDelegate)
-(void)delegateMethod;
@end
注:以上写的协议 为非正式的,所以,不用被设置代理者,不实现这个代理方法也是可以的。
3.调用代理者实现的代理方法
代码:
//设置了代理者,且代理者实现了delegateMethod
if(delegate && [delegate respondsToSelector:@selector(delegateMethod)])
[delegate delegateMethod];
4.并实现delegateMethod方法即可:
类似初始化中添加:[aView setDelegate:self];
-(void)delegateMethod{
//control bView code here
…
}
二:正式协议:
@protocol protocolName
@optional -(void)delegateMethodA
@required -(void)delegateMethodB
// other methods
…
@end
但@required 的方法必需实现。默认为@required。
正式协议要求在代理类中声明采纳此代理,如:
@interface ClassName: NSObject <ProtocolName>
//…
@end
另外,在调用特殊代理 方法前,需要通过conformsToProtocol函数来判断代理对
象是否遵守定义的协议,如:
if([mydelegate conformsToProtocol:@protocol(protocolName)])
{
[mydelegate delegateMethod];
}
或者使用respondsToSelector:@selector来判断代理对象是否实现相应的方法。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言