我刚刚在我的开发者机器上下载了Xcode15测试版,运行的是MacOS Sonoma的第一个测试版.

我想将我的View Model类从@ObservableObject移植到@Observable.

但是,当我try 添加新属性时,收到一条错误消息:

@Observable final class ViewModel {
    
}

未知属性‘Observable’

我删除了原来的Xcode版本,在运行了sudo xcode-select --reset之后,我 Select 了使用Xcode-select的测试版.似乎什么都不管用. 我还手动安装了Xcode15的命令行工具.

当运行swift -version时,我得到以下输出:

swift-driver version: 1.82.2 Apple Swift version 5.9 (swiftlang-5.9.0.114.6 clang-1500.0.27.1)
Target: arm64-apple-macosx14.0

我遗漏了什么?Xcode15的第一个测试版还不支持这一点吗?

推荐答案

您需要导入观察框架:

import Observation

@Observable final class ViewModel {
   // more code here
}

来源:@Observable and other SwiftUI Macros

Swift相关问答推荐

如何消除SwiftUI中SF符号的填充

SwiftUI map 旋转

在`NavigationStack`中使用`SafeAreaInset`修饰符时出现SwiftUI异常行为

为什么要在SWIFT RandomAccessCollection协议中重新定义元素类型?

同时具有每个文本的标识符的文本组的可扩展性标识符

macOS SwiftUI: 如何触发删除一个项目?

无法使用 RealityKit 播放 USDZ 动画

Swift-SceneKit-无法从art.scnassets加载.scn文件

如何避免从模块导入函数

如何在 Swift 中对单个单词进行词形还原

符合协议 - 错误?

Vapor - 流利的,将对象保存到 PostgreSQL

如何在 Swift 中将对象归零

如何从一个可观察的数组创建一个可观察的数组?

在 Swift 中指定 UITextField 的边框半径

强制打开已在同一行代码中 Select 性访问的变量是否安全?

使用 JSONEncoder 对类型为 Codable 的变量进行编码

Switch 语句中的字符串:String不符合协议IntervalType

迭代 Firebase 中的子快照

将 [String] 存储在 NSUserDefaults 中