swift – 检查它是否为零后,强行打开可选项是否安全

swift – 检查它是否为零后,强行打开可选项是否安全,第1张

概述我有一个网络方法,返回一个完成闭包,并以Error作为参数. 我通常避免强制解包,但在这种情况下,我使用一个guard语句检查错误是否为nil: guard error == nil else { print(error!) return}... 我正在调用的方法来自SDK,所以我真的不知道那里发生了什么. 一般情况下,这种力量解开线程是否安全? if和guard之间的区别很 我有一个网络方法,返回一个完成闭包,并以Error作为参数.

我通常避免强制解包,但在这种情况下,我使用一个guard语句检查错误是否为nil:

guard error == nil else {    print(error!)    return}...

我正在调用的方法来自SDK,所以我真的不知道那里发生了什么.

一般情况下,这种力量解开线程是否安全?

解决方法 if和guard之间的区别很简单,但在你的情况下,你应该使用if,而不是guard.当预期某些值存在以使函数按预期执行时,应使用guard.您不希望出现错误,但如果不是nil,则必须返回.所以你应该使用if let:

if let error = error {    print(error)    return}

这样,您不需要使用强制解包,它可以改善代码的表示方式.

回到你的问题“一般情况下,这种力量是否解开线程是否安全?”,假设你真的在谈论线程安全,那肯定是线程安全的.闭包变量是不可变的.

如果你在谈论安全性(即会发生“致命错误:在展开可选值时意外发现为零”),那么它也肯定是安全的.在打开它之前,错误一定不能为零(因为防护),因此展开力是安全的.

总之,您当前的代码是防d的,但使用if let可能会更好.

总结

以上是内存溢出为你收集整理的swift – 检查它是否为零后,强行打开可选项是否安全全部内容,希望文章能够帮你解决swift – 检查它是否为零后,强行打开可选项是否安全所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1209305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存