不符合 BindableObject 协议 - Xcode 11 Beta 4

2024-05-01

尝试一下那里的例子。找到一个项目,其中有一个类bindableobject并且它没有给出任何错误。现在 Xcode 11 beta 4 已经发布,我收到错误:

类型“UserSettings”不符合协议“BindableObject”

它有一个错误修复按钮,当您单击该按钮时,它会添加

typealias PublisherType = <#type#>

它希望您填写类型。

类型会是什么?

class UserSettings: BindableObject {

    let didChange = PassthroughSubject<Void, Never>()

    var score: Int = 0 {
        didSet {
            didChange.send()
        }
    }
}

Beta 4 发行说明 https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_4_release_notes say:

BindableObject 协议的要求现在是 willChange 而不是 didChange,现在应该在对象更改之前发送 比改变之后。此更改允许改进合并 更改通知。 (51580731)

您需要将代码更改为:

class UserSettings: BindableObject {

    let willChange = PassthroughSubject<Void, Never>()

    var score: Int = 0 {
        willSet {
            willChange.send()
        }
    }
}

In Beta 5 https://developer.apple.com/documentation/ios_ipados_release_notes/ios_ipados_13_beta_5_release_notes?language=objc他们再次改变它。这次他们一起弃用了 BindableObject!

BindableObject 被 ObservableObject 协议取代 结合框架。 (50800624)

您可以通过定义一个来手动遵守 ObservableObject 在对象更改之前发出的 objectWillChange 发布者。 然而,默认情况下,ObservableObject会自动合成 objectWillChange 并在任何 @Published 属性更改之前发出。

@ObjectBinding 被@ObservedObject 取代。

class UserSettings: ObservableObject {
    @Published var score: Int = 0
}

struct MyView: View {
    @ObservedObject var settings: UserSettings
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不符合 BindableObject 协议 - Xcode 11 Beta 4 的相关文章

随机推荐

  • 如何处理 Visual Studio Code 消息框中的单击事件?

    根据 API 文档 消息框可以采用第二个参数 一个字符串数组 充当消息框上的操作 通常只有一个关闭按钮 操作 https code visualstudio com docs extensionAPI vscode api window h
  • 让右侧的 Div 填满所有可用空间

    我想创建两个并排的 div 但我希望左侧的 div 为 300px 右侧的 div 占据屏幕上的剩余部分 这怎么可能呢 谢谢 最直接的 我会说正确的 方法是使用display table wrapper display table widt
  • 分享一些东西到phonegap应用程序

    有什么方法可以注册phonegap应用程序以显示在要共享的应用程序菜单中吗 要出现在此列表中 您必须修改 AndroidManifest xml 文件并在您的 Activity 下添加以下行
  • PHP保存图像文件[重复]

    这个问题在这里已经有答案了 可能的重复 从 PHP URL 保存图像 https stackoverflow com questions 724391 saving image from php url using php 我有一个图像作为
  • gfortran 未定义的引用

    我正在尝试编译一个依赖很多东西的程序 我使用并修改了提供的 makefile 来代表我的计算机设置 但在编译的最后一步中我不断收到许多未定义的引用 导致问题的命令行是 gfortran o cosmomc ParamNames o Matr
  • Google 地图视图无法在模拟器上显示

    您好 我正在尝试在 Android 模拟器中显示地图 但它无法在地图视图中显示谷歌地图 并且也不从 Android 模拟器上的浏览器连接 www google com 那么是否有关于在模拟器上运行互联网的任何设置 谁能帮我解决这个问题 尝试
  • 是否有一个“OneOf”类用于对没有共同祖先的类进行分组

    与此类似 https stackoverflow com a 3508555 33689 我不想接受几个不相关的类之一 而是想返回一个 我有一个利用多个底层存储库的编排服务 每个存储库都可以传回一个错误 然而 这些错误类没有共同的祖先 例如
  • Windows批量编程中读取文件名

    我想在Windows批处理编程中读取文件的名称 我尝试使用不同的方法但失败了请帮助 下面给出了场景 我的文件夹中有不同的文件 但所有文件的文件名长度相同 例如 1000342578 30062011 PDF 1000342329 30062
  • 在单词后获取文本——R Webscraping

    几周前 这里有人帮助我极大地获得了名人数据库中所有链接的列表 我能够运行此代码并获得以下输出 library purrr library rvest url base lt https www nndb com lists 494 0000
  • MultipartEntity 类型已弃用

    文档说org apache http entity mime MultipartEntity http hc apache org httpcomponents client ga httpmime apidocs org apache h
  • 如何用 Java 为 2D 游戏构建 Tiled 地图?

    不知道如何解决这个问题 基本上 我想要 400x400 窗口的 Pixel gt Tile 表示 屏幕上的每个坐标 例如120x300应该是图块的一部分 我最小的精灵是 4 个像素 所以我们可以说 1 个图块 4 个像素 玩家和敌人精灵都是
  • 如何设置PS1使git和conda都可以在bash中显示?

    我的 bashrc show a short way shortwd num dirs 3 pwd symbol newPWD PWD HOME if echo n newPWD awk F print NF gt num dirs the
  • 如何移动 UITextField 中的清除按钮?

    由于某种原因 当我添加 UITextfield 作为表格单元格内容视图的子视图时 清除按钮与字段中键入的文本不对齐 并且出现在其下方 有什么方法可以移动清除按钮的文本来阻止这种情况发生吗 谢谢你的帮助 正如 Luda 所说 正确的方法是子类
  • 找不到满足 pkg-resources==0.0.0 要求的版本

    我的应用程序部署在heroku 当我通过推送我的代码时git push heroku master 它给了我这个错误 Collecting pkg resources 0 0 0 from r requirements txt line 1
  • 如何从 InputStream 读取一行而不缓冲输入? [复制]

    这个问题在这里已经有答案了 我有一个输入流 其中包含一行字符串 然后是二进制数据 如果我使用读取该行new BufferedReader new InputStreamReader inputStream 二进制数据也正在被读取并且不能被重
  • 如何将 Ctrl+,(control 加逗号)指定为 WPF 菜单项的键盘快捷键?

    Question I would like to assign the keyboard shortcut Ctrl control plus comma to the Preferences menu item How do I do t
  • 证明:为什么 java.lang.String.hashCode() 的实现与其文档相符?

    JDK 文档为java lang String hashCode http java sun com javase 6 docs api java lang String html hashCode famously https stack
  • OSGI Felix 容器正在初始化模拟私有字段

    我试图模拟我的类中的一个私有字段 该字段由运行我的应用程序的 OSGI 容器初始化 我放了一个示例代码供参考 请提供任何线索 import org apache felix scr annotations Component name My
  • 重新渲染模板时的 Meteor 回调

    我目前有一个模板 其中包含 each 在其中循环 我正在尝试找到一种方法来触发特定功能 each 循环已完成 Template rendered仅在第一次渲染模板时运行 因此不幸的是 这不起作用 有什么可以做到这一点吗 我就是这样做的 Te
  • 不符合 BindableObject 协议 - Xcode 11 Beta 4

    尝试一下那里的例子 找到一个项目 其中有一个类bindableobject并且它没有给出任何错误 现在 Xcode 11 beta 4 已经发布 我收到错误 类型 UserSettings 不符合协议 BindableObject 它有一个