现在最终支持iphone/ipad开发的块,这些是否完全消除了委托的需要,或者代理仍然更清洁作为完整的接口实现,而块更适合单个任务?
我想编写一个自定义委托方法,以从另一个视图控制器接收我的一个视图控制器中的事件.我应该在这里使用块而不是代表.哪个是首选?
@protocol MyClassDelegate
-(void)doSomethingInDelegate;
@end
@interface MyClass : NSObject
@property id<MyClassDelegate> delegate;
-(void)doSomething
@end
@implementation MyClass
-(void)doSomething
{
[self.delegate doSomethingInDelegate];
}
@end
@interface MyOtherClass<MyClassDelegate> : NSObject
...
@end
@implementation MyOtherClass
-(void)doSomethingInDelegate
{
NSLog(@"Doing something in delegate");
}
@end
Run Code Online (Sandbox Code Playgroud)