cho*_*ise 12 iphone delegates objective-c optional
我为一个类创建了一个委托
@protocol gameDelegate <NSObject>
@optional
-(void)gameStarted;
@required
@end
Run Code Online (Sandbox Code Playgroud)
现在在我的游戏对象中我调用了这个方法:
[self.delegate gameStarted];
Run Code Online (Sandbox Code Playgroud)
所以现在,如果我在任何地方启动这个对象并设置委托一切正常,直到gameStated被调用,因为它没有在创建游戏对象的主对象中实现(因为它是可选的).
我尝试了一些这方面的变化
if(![self.delegate respondsToSelector: @selector(gameStarted)]) {
//[self.delegate gameStarted];
}
Run Code Online (Sandbox Code Playgroud)
但这不适合我.任何想法如何使这"真正"可选?
提前致谢
Ole*_*ann 18
省略你的if陈述中的否定:
if ([self.delegate respondsToSelector:@selector(gameStarted)]) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7442 次 |
| 最近记录: |