在 Xcode11 Beta 4 中将 String(format: , args) 与 SwiftUI 一起使用时出错

2024-04-19

升级到 Xcode 11 Beta 4 后,我在使用时开始看到错误String(format: , args) with @State财产。请参阅下面的代码。第二Text行抛出错误:

表达式类型“String”在没有更多上下文的情况下不明确

while Texts 1、3 和 4 工作得很好。

struct ContentView : View {
    @State var selection = 2

    var body: some View {
        VStack {
            Text("My selection \(selection)") // works
            Text("My selection \(String(format: "%02d", selection))") // error
            Text("My selection \(String(format: "%02d", Int(selection)))") // works
            Text("My selection \(String(format: "%02d", $selection.binding.value))") // works
        }
    }
}

我意识到这是测试版软件,但很好奇是否有人能看到这种行为的原因,或者这只是一个错误。如果这无法解释,我会提交雷达报告。


在 beta 4 中,属性包装器实现略有变化。在 beta 3 中,您的视图被编译器重写为:

internal struct ContentView : View {
  @State internal var selection: Int { get nonmutating set }
  internal var $selection: Binding<Int> { get }
  @_hasInitialValue private var $$selection: State<Int>
  internal var body: some View { get }
  internal init(selection: Int = 2)
  internal init()
  internal typealias Body = some View
}

而在 Beta 4 上,它执行以下操作:

internal struct ContentView : View {
  @State @_projectedValueProperty($selection) internal var selection: Int { get nonmutating set }
  internal var $selection: Binding<Int> { get }
  @_hasInitialValue private var _selection: State<Int>
  internal var body: some View { get }
  internal init(selection: Int = 2)
  internal init()
  internal typealias Body = some View
}

现在我猜测:这种更改使编译器更难以推断变量的类型?请注意,另一种可行的选择是通过强制转换来帮助编译器一点selection as Int:

Text("My selection \(String(format: "%02d", selection as Int))")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Xcode11 Beta 4 中将 String(format: , args) 与 SwiftUI 一起使用时出错 的相关文章

  • 如何在 Xcode 中设置 Mac 应用程序的图标?

    我学习了很多关于编写 Objective C 代码和在 Interface Builder 中进行设计的知识 并且我想为我的简单程序设置图标 我将相同的 JPG 添加到 Icon Composer 中的所有尺寸字段并获得了 ICNS 但我不
  • iOS 模拟器无法正确刷新

    我尝试模拟一个在 Xcode 9 中创建的非常非常简单的应用程序 我尝试在装有 iOS 11 2 的 iPhone6 的 iOS 模拟器中模拟它 我还测试了其他设备 结果相同 在真实设备上 该应用程序可以按预期运行 但在模拟器上却没有 我希
  • 在 iPhone 通讯簿中创建群组

    我正在开发一个 iPhone 应用程序 该应用程序使用将联系人添加到地址簿中 我已经能够将联系人添加到地址簿 但我面临的问题是在将联系人记录添加到我创建的组时 该联系人将在不在已创建组内的所有联系人下创建 下面是我使用过的代码 create
  • Xcode 不再识别测试

    我已经解决这个问题几天了 但我没有任何想法 我在 Xcode 中使用单元测试 效果很好 突然 Xcode 不再识别我的测试 如果我进入测试面板 它会显示我的测试为零 我其实有13个 运行单独测试或某些课程的能力现已消失 它不会在编辑器区域的
  • 前置条件失败:从 iOS 13.4 开始,在 SwiftUI 中使用 GeometryReader 时输入索引无效

    昨天 我将 XCode 和我的项目升级到 iOS 13 4 我开始在使用 GeometryReaders 的视图周围看到很多失败 除了 前提条件失败 输入索引无效 之外 该错误没有显示任何内容 升级到 13 4 1 后我遇到了完全相同的问题
  • Xcode 9 - Alamofire Pod。命令 /bin/sh 失败,退出代码为 1

    Users Alex Library Developer Xcode DerivedData MyProject ehabmnclpzlywhabrefntacibonm Build Intermediates noindex Archiv
  • 如何在iPhone模拟器中更改时间和时区?

    如何更改时间和时区iPhone http en wikipedia org wiki IPhone模拟器 我猜它使用您的系统时区 因此更改系统偏好设置中的 TZ 可能会成功
  • XCTestCase:ld:未找到架构 x86_64 的符号

    我只是想实现我的第一个 XCTestCase 实现 一切都构建良好 但是当我执行测试用例时 我面临 构建失败 Undefined symbols for architecture x86 64 OBJC CLASS Node referen
  • Swift TTS,无音频输出

    我尝试在我的应用程序 TTS 中集成 但如果单击按钮 则没有音频输出 这是按钮代码 struct VocabDetailView View var body some View HStack Button Play readOut text
  • SwiftUI - 获取孩子的大小?

    有什么方法可以获取 SwiftUI 中子视图的大小吗 我基本上希望做 UIKit 相当于 self child frame origin x self child intrinsicContentSize width 2 0 我认为 Geo
  • Swift 2.0 中的协议扩展方法调度

    我面临有关协议方法调度的问题 我有一个类层次结构 如下所示 protocol E func test extension E func test print jello class A E class B A func test print
  • 枚举 NSString 的最佳方法

    我正在寻找枚举 objc 对象 例如 NSString 的方法 我记得 Xcode4 版本中有一个新功能 它提供了一种新的 enum 方法 但不清楚 有人知道吗 好吧 我自己回答 我想我犯了一个错误 这就是我上面提到的新功能 typedef
  • 如何在 Swiftui 中使列表项行内的按钮不可点击?

    有没有办法让列表的整行都不可点击 我正在尝试使按钮行上只有按钮可单击 正如您所看到的 如果我尝试单击按钮行中的任何位置 无论是按钮本身 还是按钮周围的空白区域 它都会将其视为点击 有没有办法让您只能单击按钮本身 而不能单击按钮周围的白色间距
  • 如何从 IOS 应用程序中的自定义捆绑包加载故事板文件?

    我有一个 ios 应用程序 我正在修改它 以便它可以作为静态库简单地插入到一系列其他应用程序中 但是 我还需要拥有所有相应的资源 因此我创建了一个自定义捆绑包来包含这些资源 该捆绑包包括所有选项卡栏图像 可本地化字符串 默认图像 以及对于这
  • 如何在 macOS 上的 SwiftUI 中设置拖动图像

    我正在尝试更改 GridView 的默认拖放预览图像 该图像似乎包含网格中的所有可见项目 据我了解 我应该能够设置NSItemProvider previewImageHandler块来自定义所使用的图像 我似乎找不到任何关于返回自定义图像
  • iOS - 检测应用程序是否正在从 Xcode 运行 [重复]

    这个问题在这里已经有答案了 我试图根据代码是否通过 USB Xcode 调试 运行或在从应用程序商店下载的生产模式 发布 运行来启用 禁用部分代码 我知道检查它是否正在运行DEBUG or RELEASE像这样的模式 ifdef DEBUG
  • Xcode 11 beta 4 错误:命令 CompileSwiftSources 失败,退出代码非零

    我已经下载了最新的 Xcode beta 4 当我构建时 我的 3 个 pod 遇到了同样的错误 Command CompileSwiftSources failed with a nonzero exit code
  • 从 Xcode 6 安装失败:“存在内部 API 错误”

    我尝试在 ipad ios 7 1 2 上运行一个在我的手机 ios 8 4 1 上运行良好的应用程序 Xcode 提示 存在内部 API 错误 仅此而已 我不确定如何解释日志 怎么了 我该如何解决 ipad日志 Aug 29 17 39
  • 签名根框架中嵌入的子框架不起作用(Xcode 11.2.1)

    我有一个小型的概念验证应用程序 我试图在我的框架 AequumPOCFramework framework 中嵌入 并签名 一个框架 Alamofire 但是 当我尝试部署到我的设备时 它不断给出我的错误 在使用库验证的进程中使用无效 映射
  • 在 xcode 中,有没有办法验证所有 NSLocalizedStrings 的密钥?

    除了运行其中包含 NSLocalizedString 的每个代码路径之外 是否有一种方法可以验证所有 NSLocalizedString 是否都具有实际存在于所有捆绑包的所有 Localized strings 文件中的密钥 例如 一个键中

随机推荐

  • 这种基于 Flexbox 的布局是否需要额外的标记?

    我现在开始使用 Flexbox 尝试了解如何从使用传统 CSS 网格过渡 我有两种布局 一种是用 CSS 网格制作的 另一种是使用 Flexbox 制作的 这两个示例的基本布局都非常基本 页眉 导航 内容部分和页脚 从设计角度来看 它们看起
  • Rails 5.1.1 弃用警告已更改_属性

    我刚刚从 Rails 5 0 0 升级到 5 1 1 并开始收到大量弃用警告 如下所示 弃用警告 的行为changed attributes代替 after 回调将在下一版本的 Rails 中发生变化 新的 返回值将反映之后调用该方法的行为
  • 阻止 UIScrollView 的子视图调整大小?

    我有一个UIScrollView 具有由返回的视图的多个级别的子视图viewForZoomingInScrollView 在缩放期间 我希望其中一些子视图调整大小 而其他子视图不调整大小 无论我尝试什么 所有子视图都会调整大小 在子视图的超
  • 查询 mongodb 返回今天创建的文档

    我如何编写今天创建的结果文档的过滤器 我知道 ObjectId 有时间戳 我试过这个 db doc find id gte ObjectId getTimestamp getTime 我可以写吗 db doc find id getTime
  • Qml中的QScrollArea:Flickable + QQuickPaintedItem

    我正在尝试实现类似的东西QScrollArea 在小部件世界中 在 Qml 的帮助下 我决定一探究竟Flickable plus QQuickPaintedItem基于项目 在我的例子中名为抽屉 Flickable onContentXCh
  • Rails:backbone-on-rails gem-

    尝试按照 Ryan Bates Backbone js 教程构建抽奖应用程序 但我已经遇到了第一部分代码的问题 在 application js 的 init 函数中 他初始化了 Raffler 路线的新实例 该实例应该触发警报 主页 但我
  • 如何从Java中的Apple公钥JSON响应中获取公钥?

    我们正在尝试在 iOS 应用程序中添加 使用 Apple 登录 当客户端工作正常时 我们的后端是用 Java 编写的 我们无法解码 Apple 的公钥 当您点击网址时https appleid apple com auth keys htt
  • 无法登录 Magento 管理员

    我在登录我们的一个临时站点上的 Magento 管理面板时遇到问题 它在我们的 webdev 服务器上 100 工作 不久前在临时服务器上也工作得很好 我做了一些研究 大多数人认为这与在本地主机上运行 Magento 以及浏览器不为域名中没
  • Lucene:如何在单个字段下索引和搜索多个值

    如何在单个字段下索引和搜索多个值 例如说我有一个领域处理器这可能有i3 i5 i7 or i3 or i3 i5价值观 现在想象一下笔记本电脑的数据如下 data1 name laptop name price laptop price p
  • 接受任意切片的 Express 函数

    我想表达一个可以取任何切片的函数 我想我可以这样做 func myFunc list interface for i range list some other fun i where some other fun 本身需要一个interf
  • 如何将 GMP C 参数约定转换为更自然的东西?

    例如 我想做这样的事情 include
  • 如何使用“prototype”函数正确编写 JavaScript 属性和方法?

    我正在尝试学习如何使用 javascript 原型创建和使用 javascript 属性和方法 但遇到了一些困难 在下面的代码中 我尝试创建一个名为 radius 的简单对象 其半径为 4 并具有一个名为 getCircumference
  • 如果 cookie 未发送到服务器,则可以安全地将访问令牌存储在客户端 cookie 中

    我正在开发一个主干应用程序 其中包含 Laravel 后端的 REST api 这意味着我使用从社交媒体 例如 Facebook Google 等 收到的访问令牌对每个请求进行身份验证 我的计划是存储用 Javascript 生成的客户端
  • Node.js 或 Erlang

    当谈到它们可以处理的并发级别时 我真的很喜欢这些工具 Erlang OTP 看起来是更稳定的解决方案 但需要更多的学习和深入研究函数式语言范例 看起来 Erlang OTP 在多核 CPU 方面做得更好 如果我错了 请纠正我 但我应该选择哪
  • 在 Xcode 4 中本地化 iPhone 应用程序名称

    当我选择 Info plist 文件以便本地化应用程序名称并尝试构建项目时 构建失败并显示错误 提示找不到 Info plist 文件 如果我将 Info plist 文件路径更改为PROJECTNAME en lproj Info pli
  • 如何在 ASP.net MVC 中正确执行异步方法?

    如何从控制器方法内执行异步方法并返回 HttpStatusCodeResult 200 而异步委托不会提前终止其执行 我正在开发一个 asp net 应用程序 我的家庭控制器的一个操作需要很长时间才能运行 10 30 秒 我想返回 Http
  • 求给定数组的每个 (n-1) 个子集的乘积

    很抱歉删除了原来的问题 这里是 我们有一个包含 n 个整数的包或数组 我们需要找到每个 n 1 个子集的乘积 例如 S 1 0 3 6 ps 1 0 3 6 0 ps 2 1 3 6 18 ETC 经过讨论 我们需要处理三种情况 如下所示
  • 交换 javascript 数组中的两个项目[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 交换数组元素 https stackoverflow com questions 872310 javascript swap array elements 我有一个像这样的数组
  • JQuery Cascade 插件下拉列表不刷新

    我正在使用基于 JQuery 的级联插件 https web archive org web 20111206072619 http plugins jquery com 80 project cascade 可能它有效 但我发现它有很多问
  • 在 Xcode11 Beta 4 中将 String(format: , args) 与 SwiftUI 一起使用时出错

    升级到 Xcode 11 Beta 4 后 我在使用时开始看到错误String format args with State财产 请参阅下面的代码 第二Text行抛出错误 表达式类型 String 在没有更多上下文的情况下不明确 while