2

由于@AppStorageand@SceneStorage属性包装器仅在视图中可用,这意味着我无法在我的辅助函数中指定它们。

例如,一个辅助函数convertFromKelvin(degreesK: Double) -> Double可能想要查找是返回华氏度还是摄氏度,如附加到视图的变量中定义的,例如@AppStorage("tempScale") var tempScale = "C".

为此并引用“旧方式”似乎是合乎逻辑的,NSUserDefaults.standard.string(forKey: "tempScale")但这是“正确的”,我如何引用@SceneStorage变量?在视图中调用函数时传递值是否明智?或者传递对场景的引用,如果是这样,我该怎么做?

当值被全​​局存储或半全局存储在场景上下文中时,必须传递任何类似的东西似乎违反直觉。

请注意,我的用例要求辅助函数可用于多个不相关的视图。

4

0 回答 0