gpt4 book ai didi

ios - 否定#available语句

转载 作者:IT王子 更新时间:2023-10-29 05:13:21 27 4
gpt4 key购买 nike

我只想在运行低于 iOS8 操作系统的设备上执行代码块。我做不到:

if #available(iOS 8.0, *) == false {
doFoo()
}

我目前使用的解决方案是:

if #available(iOS 8.0, *) { } else { 
doFoo()
}

,但感觉笨拙。有没有另一种方法可以用 Swift 优雅地否定 #available 语句?

最佳答案

我为此使用了一个守卫:

guard #available(iOS 8.0, *) else {
// Code for earlier OS
}

当然,由于 guard 需要退出作用域,因此可能会有轻微的尴尬。但这很容易通过将整个事情放入它自己的函数或方法中来回避:

func makeABox()
{
let boxSize = .large

self.fixupOnPreOS8()

self.drawBox(sized: boxSize)
}

func fixupOnPreOS8()
{
guard #available(iOS 8, *) else {
// Fix up
return
}
}

当您放弃对早期系统的支持时,删除它真的很容易。

关于ios - 否定#available语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633799/

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