39、用handler块降低代码分散程度
笔者建议使用同一个块来处理成功与失败的情况:
缺点:全部逻辑写在一起会比较长和复杂
优点:处理成功响应的过程中可能会发现错误(更灵活)
有时需要在相关时间点指向会掉操作,这种情况也可以使用handler块。
NSNotificationCenter就提供了一个参数,可以让调用这指定块在哪个队列里执行。默认是跟通知同一个线程:
- (id)addObserverForName:(NSString *)name
object:(id)object
queue:(NSOperationQueue *)queue
usingBlock:(void(^)(NSNotification *)block要点:
在创建对象时,可以使用内联的
handler块将相关业务逻辑一并声明在有多个实例需要监控时,如果采用委托模式,那么经常需要根据传入的对象来切换,而该用
handler块来实现,则可直接将块与相关对象放在一起设计
API时如果用到了handler块,那么可以增加一个参数,使调用这可以通过此参数来决定应该把块安排在哪个队列上执行
Last updated
Was this helpful?