问题标签 [appstorage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 扩展 AppStorage 以兼容 Int32
我想使用 AppStorage 属性包装器将 CLAuthorizationStatus 存储在用户默认值中,这样我就可以在整个应用程序中将它作为一个简单的变量进行访问,而不是每次都通过 CLLocationManager 访问授权状态。问题是这个 Enum rawValue 类型是一个 Int32(而不是像 UNAuthorizationStatus 那样的 Int),所以下面的方法不起作用:
抛出:候选人要求类型“CLAuthorizationStatus.RawValue”(又名“Int32”)和“Int”是等效的(要求指定为“Value.RawValue”==“Int”)(SwiftUI.AppStorage)
我尝试扩展 AppStorage 以包含一个带有 RawRepresentable 的初始化程序,该初始化程序具有 Int32 作为 rawValue 但我找不到要包含在其中的内容以使其工作。
提前致谢。
arrays - 使用 AppStorage 在 SwiftUI 中持久存储字符串数组
我正在尝试使用 AppStorage 属性包装器将字符串数组存储在用户默认值中,如下所示:
但是我得到了错误No exact matches in call to initializer
这是 AppStorage 的限制,因为如果我没记错的话,UserDefaults 可以存储数组吗?我可以使用什么解决方法?
swift - SwiftUI @AppStorage 不在函数中刷新
我试图在每个 .onAppear 中重新加载数据,但是如果我在 SettingsView 中更改 @AppStorage nearMeter 的值,它不会更新 reloadNearStops 函数中的值并使用之前的 @AppStorage 值。
swiftui - SwiftUI 无法将字符串从 Appstorage 转换为 Int。此外,在更新第二个视图时,它会在每次击键后创建一个新视图
SwiftUI 的新手。
我想在 UserSettings 视图中更改字符串 calBudget 并在 ContentView 中将其转换为 Int。第一个问题是整数转换不适用于我的代码。第二个问题是,UserSettings 视图中的每次击键都会生成一个新的 UserSettings 视图,从而创建一堆嵌套视图。
swiftui - 在 SwiftUI 中使用 UserDefaults 进行全局更新
我一直在使用 @AppStorage 和 UserDefaults 在 SwiftUI 中进行更新。如果我对具有 @AppStorage 包装器的 vie 进行更改,则一切正常。我对如何在全球范围内进行这项工作感到困惑。
我正在使用具有关联的计算属性和格式化程序的结构。这个想法是检查用户默认值并将项目转换为磅或公斤。问题是使用计算属性的视图在更新 UserDefaults 时不会更新。有没有办法创建一个全局更改来更新下面 SecondaryView 中的 weightFormatted?
// 权重结构
// 格式化方法
// 设置 weightInKilograms 的位置
// 辅助视图未更新
ios - SwiftUI - AppStorage 不适用于 GeometryReader
这是一个简单的例子。您可以创建新的 SwiftUI iOS 项目并将其复制到 ContentView 文件。
我有3个元素:
- 黄色背景的文本 - 我需要它是全角的,我使用 GeometryReader 来完成它。
- 文本。最后一句话应该根据切换值打开/关闭。这仅用于测试目的,以检查 AppStorage 是否正常工作。
- Toggle - 切换 onOff 变量并将其保存到 AppStorage (UserDefaults)。
AppStorage 只有在没有 GeometryReader 的情况下才能完美运行。请注释掉 3 个标记的行以查看它。
它是一个错误吗?还是我的 AppStorage 代码有问题?或者 GeometryReader 部分是错误的?如果我可以将黄色部分设置为全角,我可以完全放弃 GeometryReader。
swift - SwiftUI - @AppStorage 变量键值
我试图从 UserDefaults 中获取一个 Bool,其键取决于产品的 nameID。
我试过这样:
无论如何,Swift 会抛出这个错误:
不能在属性初始化器中使用实例成员“产品”;属性初始化程序在“自我”可用之前运行
我理解为什么 Swift 会抛出这个错误,但我不知道如何解决它。有解决办法吗?
非常感谢你,阿尔贝托
swiftui - 使用非零值初始化可选的 @AppStorage 属性
我需要一个可选的@AppStorage
字符串属性(用于NavigationLink
选择,需要可选),所以我声明
我需要它以非零的默认值开始,所以我尝试了:
但这不会编译。
我也试过:
但这只会在应用程序启动时覆盖实际的持久值。
有没有办法用默认的非零值启动它,然后让它像往常一样持续存在?
ios - SwiftUI 中的核心数据 - 如何使用 @AppStorage 作为谓词中的值?
如何将 @AppStorage 变量添加到 init() 以将其用作 @FetchRequest 谓词中的键?
这是一个工作示例,我使用带有固定关键字“A”的谓词过滤结果。
内容视图.swift
持久性.swift
我有一个实体:项目。使用“名称” - 字符串类型属性。当谓词是固定的“A”关键字时,一切正常。但是当我尝试使用过滤器变量(来自@AppStorage)时,我得到了错误:
在初始化之前使用的变量“self.items”
当我使用这个时:
而不是这个: