gpt4 book ai didi

swift - 简化嵌套 if 快速

转载 作者:行者123 更新时间:2023-11-30 13:58:08 29 4
gpt4 key购买 nike

我的应用程序有一个名为 MyDevice 的类,我用它来与硬件通信。该硬件是可选的,实例变量也是可选的:

var theDevice:MyDevice = nil

然后,在应用程序中,我必须初始化设备(用于通信),然后执行自检以检查其可用性和准备执行情况。如果失败,则设备不可用/可访问/出现故障。

这是我过于复杂的代码。我正在寻找如何简化它。

if let device = self.theDevice
{
device.initDevice()

if (!device.selfTest())
{
self.theDevice = nil;
}
}

我尝试将所有测试与 if 语句中的 && 结合起来,但失败了。问题是我在一个函数的开头有 12 个用于不同设备的函数。它占用大量空间并且很脏。如何在 Swift 中组合这些语句?

最佳答案

您可以使用?可选链接,并结合if case let模式匹配和where语句

theDevice?.initDevice()
if case let selfTest? = theDevice?.selfTest() where !selfTest{
theDevice = nil
}
<小时/>

但我更喜欢 if let 可选展开以提高可读性。

关于swift - 简化嵌套 if 快速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33341568/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com