HTML5
发布时间:2022-04-27 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 一对二完成块,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用
一个使用twoBlock
方法的
network kit,但我更喜欢在我自己的
代码中使用oneBlock.如果twoBlock
方法更好,这让我感到困惑.不知怎的,我没有看到它.
@H_
874_5@
@H_
874_5@有没有办法比其他
方法更好?
@H_
874_5@oneBlock
方法
@H_
874_5@
1个组合数据和
错误的块:
@H_
874_5@
-(void)oneBlock {
[self startWithCompletionBlock:^(id obj,NSError* error) {
if(error) {
NSLog(@"error: %@",error);
} else {
NSLog(@"success: %@",obj);
}
}];
}
@H_
874_5@twoBlock
方法
@H_
874_5@2个专用于处理数据和
错误的块:
@H_
874_5@
-(void)twoBlocks {
[self startWithCompletionBlock:^(id obj) {
NSLog(@"success: %@",obj);
} errorBlock:^(NSError* error) {
NSLog(@"error: %@",error);
}];
}
我认为你不能说任何
一个更好.只有不同的利弊平衡.
@H_
874_5@
@H_
874_5@这两种
方法的主要优点是可以更好地分离“快乐”路径和
错误管理
代码. (这种分离听起来类似于使用异常提供的优势之一,但它是一种不同的野兽;实际上,catch块允许在
一个地方收集,即在“
功能”块之外,所有
代码都可以管理在“
功能”块中可能出现的一堆可能的
错误条件,其管理通常会分散在它上面;在上面的2个块示例中,没有这个,因为管理
错误条件的
代码仍然是混合的与
你的功能的其余
代码).
@H_
874_5@另一方面,很可能在两种情况下,即成功和失败,你想采取一些共同的行动.可以想象,例如,序列化一堆网络操作:当
一个操作完成时,执行下
一个操作,无论前
一个操作是成功还是失败.如果使用2块
方法,这显然是一些
代码复制的情况.
@H_
874_5@总的来说,我不认为存在很大差异,因为您可以轻松地完成两种
方法所需的操作,但在特定情况下,一种
方法可以比另一种
方法更适合您的工作流程.
@H_
874_5@只需2美分.
大佬总结
以上是大佬教程为你收集整理的ios – 一对二完成块全部内容,希望文章能够帮你解决ios – 一对二完成块所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。