kelin Asked: 2025-04-29 04:09:37 +0800 CST2025-04-29 04:09:37 +0800 CST 2025-04-29 04:09:37 +0800 CST WeatherKit - 当前天气自动更新 772 随着时间的推移,变量会WeatherKit.Weather.currentWeather根据每日和每小时的预测自动更新吗?还是它是一个静态值,一旦收到就保持不变? 1 个回答 Voted Best Answer 2025-04-29T08:30:50+08:002025-04-29T08:30:50+08:00 这是一个静态值。它不会自动更新。 currentWeather文档中的签名表明它是Weather结构中的一个简单存储属性。 var currentWeather: CurrentWeather 它缺少{ get }或{ get set }访问器声明,而只有计算属性才有。例如,请将其与EnvironmentValues.dismiss和进行比较。Environment.controlSize 因为它是 中的存储属性struct,所以它的 getter/setter 中不能做任何特别的事情,而且其他代码不可能在你“通过引用”将它传递给它们的情况下修改它,因为它只是堆栈上的一个值。 另外,由于这是一个var,而不是let,您实际上可以将其设置为其他值。如果该值是自动更新的,那么允许您这样做就毫无意义了,对吧? func f(x: inout Weather, y: CurrentWeather) { x.currentWeather = y // this compiles! }
这是一个静态值。它不会自动更新。
currentWeather
文档中的签名表明它是Weather
结构中的一个简单存储属性。它缺少
{ get }
或{ get set }
访问器声明,而只有计算属性才有。例如,请将其与EnvironmentValues.dismiss
和进行比较。Environment.controlSize
因为它是 中的存储属性
struct
,所以它的 getter/setter 中不能做任何特别的事情,而且其他代码不可能在你“通过引用”将它传递给它们的情况下修改它,因为它只是堆栈上的一个值。另外,由于这是一个
var
,而不是let
,您实际上可以将其设置为其他值。如果该值是自动更新的,那么允许您这样做就毫无意义了,对吧?