gpt4 book ai didi

ios - 检查函数在 Swift 中是否可用?

转载 作者:IT王子 更新时间:2023-10-29 05:41:24 25 4
gpt4 key购买 nike

我想检测用户是否启用了降低透明度。很简单,您只需调用函数 UIAccessibilityIsReduceMotionEnabled() 并返回一个 Bool。但是我的应用程序针对 iOS 7 和 8,并且此功能在 iOS 7 上不可用。

在 Objective-C 中,这是我检查该函数是否存在的方式:

if (UIAccessibilityIsReduceMotionEnabled != NULL) { }

在 Swift 中,我不知道如何检查它是否存在。根据this answer ,您可以简单地使用可选链接,如果它是 nil 则它不存在,但这显然仅限于 Obj-C 协议(protocol)。 Xcode 6.1 不喜欢这样:

let reduceMotionDetectionIsAvailable = UIAccessibilityIsReduceMotionEnabled?()

它希望您删除 ?。当然,如果您这样做,它会在 iOS 7 上崩溃,因为该功能不存在。

检查这些类型的函数是否存在的正确方法是什么?

最佳答案

在 Swift 2 中添加了对可用性的适当检查。与此处提到的其他选项相比,建议使用此选项。

var shouldApplyMotionEffects = true
if #available(iOS 8.0, *) {
shouldApplyMotionEffects = !UIAccessibilityIsReduceMotionEnabled()
}

关于ios - 检查函数在 Swift 中是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26706915/

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