具有属性包装器的不可用属性

2023-11-23

我正在开发一个支持 iOS 14 及更高版本的应用程序,但我想使用一些 SwiftUI 3 属性包装器,例如@FocusState.

我该如何解决这个问题Stored properties cannot be marked potentially unavailable error?

这是我们代码的简化版本,它适用于 Xcode 13,但无法使用 Xcode 14 进行编译。

struct MyView: View {
  enum Field: Hashable {
    case username
  }

  @State private var myText: String = ""

  @available(iOS 15, *)
  @FocusState private var focusedField: Field?

  var body: some View {
    if #available(iOS 15, *) {
      TextEditor(text: $myText)
        .focused($focusedField, equals: .username)
    } else {
      TextEditor(text: $myText)
    }
  }
}

我无法使用具有后备存储的计算属性解决方法是计算属性不能有属性包装器。

除了几乎相同的副本之外,我还可以使用其他解决方法吗?MyView?


一种可能的方法是将所有依赖部分分离到一个子视图中,并将其标记为可用于新操作系统。

这是一个演示:

struct MyView: View {
    enum Field: Hashable {
        case username
    }

    @State private var myText: String = ""

    @available(iOS 15, *)            // << here !!
    struct NewTextEditor: View {
        @Binding var text: String
        @FocusState private var focusedField: Field?

        var body: some View {
            TextEditor(text: $text)
                .focused($focusedField, equals: .username)
        }
    }


    var body: some View {
        if #available(iOS 15, *) {
            NewTextEditor(text: $myText)
        } else {
            TextEditor(text: $myText)
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有属性包装器的不可用属性 的相关文章

  • UICollectionView 快速粘性标题

    我正在尝试创建一个粘性补充标题 它始终保持在顶部并且不会响应滚动事件 到目前为止 我发现的解决方案仍然对弹跳滚动做出反应 并使用自定义 flowLayout 进行修复 这也可能是我的问题的修复 我想要这种方式的原因是标头在其他地方使用并且应
  • 如何在 flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

    In a 颤振插件 我想用一个Objective C我的框架iOS部分用swift编写 然后将其用于使用 Swift 的 Flutter 项目作为 iOS 语言 经过一些研究 我不是 iOS 开发人员 后 我发现我想要做的事情可以通过导入文
  • 如何在 UIAlertController 中的 UITextField 之后插入 UILabel

    我有一个UIAlertController of alert消息文本的样式 我已经插入了一个UITextFiled在其中与addTextField 现在我想要在它下面有一串文本 我想我需要一个UILabel但我该如何插入它呢 A UIAle
  • 在 Swift 中使用模板键入别名声明

    如何避免函数中多余的限制声明f0 f1 f10 class SomeClass
  • 什么是 iBeacon 蓝牙配置文件

    我想使用一些低功耗蓝牙开发套件创建自己的 iBeacon Apple 尚未发布 iBeacon 规范 但是 一些硬件开发人员已根据 AirLocate 示例代码对 iBeacon 进行了逆向工程 并开始销售 iBeacon 开发套件 那么
  • 加快 SpriteSheet 的 UIImage 创建速度

    我不确定我的标题是否正确 但我不确定我的问题到底在哪里 我需要从 spritesheet 加载 UIImage 数组 然后将其用作 UIImageView 中的动画 spritesheet是用TexturePacker生成的 它生成巨大的图
  • 使用自定义组件:子类 UIView 或 UIViewController?

    我正在研究 UISegmentedControl 的自定义实现 我想创建一个能够接收配置数据并从中获取类似于 UISegmentedControl 的自定义视图的组件 我开始对 UIView 进行子类化 我可以使用以下代码创建自定义 UIS
  • 二元运算符“&=”不能应用于 Swift 中的两个“Bool”操作数

    我正在尝试进行多次检查 将结果累积在Bool 我的代码是 var validParams login characters count gt 4 validParams password characters count gt 6 vali
  • SwiftUI navigationBarTitle - 显示模式:.inline - 崩溃

    我的 SwiftUI 有问题 我正在创建一个带有导航栏的列表 并且我想将导航栏模式设置为内联 我不希望它太大 默认情况下 但是当我将导航栏标题模式设置为内联时 应用程序崩溃了 struct User var index Int var na
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • 从方案加载 url 第一次未处理 - appdelegate 与 viewcontroller

    我的应用程序已成功打开并将参数 从 URL 方案 即 myApp sometextToPrint 设置为AppDelegate类 但每当我想处理它们时 当从该 URL 打开应用程序时 它就会在第一次失败 我在前台检查器中有一个应用程序 它调
  • 获取 iOS Swift 中 UIViewController 的所有列表

    有没有办法获取 iOS Swift 项目中的所有 UIViewController 我想获取所有 UIViewController 的数组并检查特定的 UIViewController 是否存在 我必须找到项目中是否存在特定的 UIView
  • iOS 有没有办法通过按钮调整图像大小?

    如下图所示 按钮的图像跨越了按钮边界 有没有办法通过故事板或以编程方式使图像适合按钮的边界 更改按钮Style from Plain to Default 这是一个限制为60 x 60 with a 80 x 80图像与Style Plai
  • 如何通过 swift 包管理器在 swift 项目中添加 Alamofire [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在探索 SPM 现在我需要知道如何在我的项目中通过 SPM 导入 Alamofire 创建一个名为的 swift 文件Package在你
  • 在 iOS 中以编程方式配置代理设置

    如何在 iOS 中以编程方式配置代理设置NSURLSession 我跟着这个link https stackoverflow com questions 28101582 how to programmatically add a prox
  • SwiftUI 查看所有视图,包括工作表视图

    我需要根据某些条件在所有视图之上显示一个视图 无论顶视图是什么 我正在尝试以下代码 struct TestView
  • UIButton 图像调整大小/缩放以适合

    我有一个非常严重的问题 我不知道如何解决 我正在对 UIButtons 框架进行动画处理 当我对其进行动画处理时 我希望按钮中的图像缩放到与按钮相同的大小 它无需在我的 iPhone 模拟器上执行任何操作即可运行 但是当我在 iPad 模拟
  • 使用 CommonCrypto 的 Swift AES 加密

    我正在开发一个 iOS 应用程序代码7 1 with 斯威夫特2 1我正在尝试进行简单的加密AES 128 位 and PKCS7填充使用通用加密库 该代码有效 但每次我尝试投射NSData反对NSString然后对于 String 我得到
  • NSPredicate predicateWithFormat 传入属性名称

    关于 NSPredicate 的简单问题 我正在尝试使用 传入 值构建我的谓词 如下所示 NSPredicate currentPredicate NSPredicate predicateWithFormat key changesDic
  • 将蒙版图像作为 PNG 文件写入磁盘

    基本上 我从网络服务器下载图像 然后将它们缓存到磁盘上 但在这样做之前 我想屏蔽它们 我正在使用每个人似乎都指出的屏蔽代码 可以在这里找到 http iosdevelopertips com cocoa how to mask an ima

随机推荐

  • SAX解析——获取文本节点的高效方法

    给定这个 XML 片段
  • JsonNullable 没有与 Jackson 序列化其值

    我正在尝试使用JsonNullable
  • .NET core 将命令行参数从 Program.cs 传递到 Startup.cs

    我正在尝试配置 kestrel 以便当它处于原始模式时它可以在特定端口上运行 然而 要做到这一点 launchsettings json 似乎需要传递命令行参数来执行此操作 因为没有直接选项 并且它始终在端口 5000 上运行 如果您有需要
  • 使用 Node.js 和 WebSocket 传输二进制文件

    我已经在谷歌上搜索这个并在 stackoverflow 上搜索了一段时间 但还没有找到解决方案 因此发表了这篇文章 出于好奇 我正在尝试使用 Node js 和 WebSockets 我正在尝试将一些二进制数据 mp3 传输到客户端 到目前
  • PHP读取cookie文件

    是否有任何帮助程序库可以读取 php ini 中的 cookie 文件 我的本地磁盘上有一个 cookie 文件 我想要一种更好的方式来读取它 我目前只是按行读取文件并解析出值 如果您打算阅读 Netscape 的格式 例如 curl 以这
  • 在调用堆栈中显示特殊的原始函数

    这个问题提示如下问题 有没有办法查看特殊原语调用堆栈中的函数 例如 创建一个在退出时返回调用堆栈的函数 myFun lt function obj on exit print sys calls return obj 调用此函数并将其结果分
  • 领域驱动设计自动递增实体键

    刚开始领域驱动设计 我了解到您应该使模型保持有效状态 并且在创建类的新实例时 建议将所有必需的属性作为构造函数参数 但是 当使用自动递增键时 当我从持久层调用 Add 方法时 我只会获得这个新 ID 如果我在没有密钥的情况下实例化我的对象
  • 捕获重复键插入异常

    我有一个带有唯一主键列的表 称为id 有时当我执行INSERT查询我收到错误 因为id值已被使用 我可以捕获这个特定错误吗try and catch 看起来 mysql 正在为重复的主键抛出 1062 错误代码 您可以检查 sql 异常的错
  • Angular 2,使用 href='#' 处理锚链接

    单击任何带有href Angular 路由器路径 path component NologinComponent pathMatch full 是匹配的 我应该如何处理这些锚链接以便锚与href 停留在同一页面 即什么都不做 锚标记示例 a
  • 是否可以在 Azure 应用服务上安装字体?

    我们正在使用 MigraDoc PDFsharp GDI 它依赖于将字体安装到系统中以便进行渲染 我们尝试过嵌入字体 但 MigraDoc 的 GDI 版本似乎不支持此功能 尝试将此组件移动到 Azure 应用服务时 它找不到字体 有没有办
  • 如何在 PyCharm 的运行/调试配置中将环境变量作为命令行参数传递?

    我正在尝试学习 PyCharm 需要将环境变量作为命令行参数传递给我的进程 例如执行相当于myScript py u myVar在 Linux 上 或者myScript py u myVar 在 Windows 上 如何在 PyCharm
  • 如果从静态构造函数启动并等待空的 .NET 任务,为什么不会完成?

    我不明白为什么下面的代码不起作用 var task new Task gt task Start if task Wait 10000 logger Info Works else logger Info Doesn t work 超时后
  • UIBarButtonItem 图标通过 IB 添加时为白色,以编程方式添加时为黑色

    当我将图标添加到UIBarButtonItem通过 Interface Builder 该图标显示为白色 当我以编程方式将相同的图标文件添加到另一个图标文件时UIToolbar 图标显示为黑色 为什么 UIImage image UIIma
  • Tesseract OCR:是否可以强制使用特定模式?

    我正在使用 Tesseract 我想开发一个能够识别字符序列的应用程序 我取得了不错的成绩 但并不出色 我想读取的字符序列有always一个特定的模式 比方说 数字数字数字字符字符 例如 123AB 有没有办法 告诉 ocr引擎结构始终是固
  • C# 理论:将 JMP 写入 asm 中的 codecave

    假设我已经使用以下命令分配了放置我的 codecave 的地址VirtualAllocEx 它返回地址 我使用以下命令将代码写入该地址WriteProcessMemory 这是问题 如何编写跳转到我的 Codecave 的跳转 我知道跳跃开
  • 按钮显示内联CSS

    我有以下 CSS 和 HTML http jsfiddle net 47w0h73r 6 one padding 20px background f00 two padding 20px background 00f a button fo
  • Jenkins 主/从配置

    我一直在阅读有关 Jenkins 主 从配置的信息 但我仍然有一些问题 是不是从机 Jenkins 并没有像主机 Jenkins 那样实际安装和启动 我假设我会以相同的方式安装一个主詹金斯和另一个从詹金斯 然后主詹金斯将控制从詹金斯 例如通
  • Visual Studio 2015 输出窗口丢失

    缺少显示 Visual Studio 中所有构建消息的输出窗口 我无法使用视图菜单将其恢复 我尝试了安全模式和诊断模式 然后重新启动了一切 怎样才能把窗户找回来 去引用MSDN 在 Visual Studio Express 版本中 输出
  • Rtti 访问复杂数据结构中的字段和属性

    正如已经讨论过的Delphi 2010 中的 Rtti 数据操作和一致性可以通过使用一对 TRttiField 和实例指针访问成员来达到原始数据和 rtti 值之间的一致性 对于仅具有基本成员类型 例如整数或字符串 的简单类 这将非常容易
  • 具有属性包装器的不可用属性

    我正在开发一个支持 iOS 14 及更高版本的应用程序 但我想使用一些 SwiftUI 3 属性包装器 例如 FocusState 我该如何解决这个问题Stored properties cannot be marked potential