使用 @available 存储属性是不可能的

Jav*_*ava 1 swift swiftui photosui

我想使用仅在 >= iOS 16 中可用的功能,因此我使用 @available 标志,但它不起作用,因为“存储的属性无法用 '@available' 标记为可能不可用”

 @available(iOS 16.0, *) @State private var photoPickerItems = [PhotosPickerItem]()
Run Code Online (Sandbox Code Playgroud)

kan*_*ook 6

Xcode 14 发行说明中,存在已解决的问题。
\n这是其中之一。

\n
\n

Swift 中存储的属性可以\xe2\x80\x99t 具有在运行时可能不可用的类型信息。但是,在 Swift 5.7 之前,当属性具有惰性修饰符或附加属性包装器时,编译器错误地接受存储属性上的 @available 属性。这可能会导致在旧操作系统上运行的应用程序崩溃。Swift 编译器现在始终拒绝所有存储属性上的 @available。(82713248)(FB9594187)。

\n
\n

因此,您不能再在存储的属性上使用@available 。

\n