-4

问题是我想检查一个需要在类中声明的变量的解决方案。但是,如果我这样做,我应该将整个班级标记为@available(iOS 11.0, *)这会导致许多其他地方发生很多变化。

那么是否有可能充其量在一个地方完全禁用它?或者在最坏的情况下暂时禁用它(只是为了测试新功能而没有重大变化并且没有最低iOS版本的变化)?

4

1 回答 1

2

我发现的最佳解决方案是使用属性:

class SomeClass {
    private var _authSession: NSObject!;
    @available(iOS 11.0, *)
    var authSession: SFAuthenticationSession! {
        get {
            return _authSession as! SFAuthenticationSession
        }
        set(val) {
            _authSession = val
        }
    }
}

这只是一个示例,因此如果需要,!可以替换为。?简而言之 - iOS 禁止使用此宏声明变量,@available但允许使用此宏标记属性。

于 2018-06-01T08:19:14.043 回答