问题标签 [didset]

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.

0 投票
0 回答
23 浏览

swift - 财产观察者没有受到打击,但价值正在改变

我有一个变量,似乎在整个应用程序中都在变化。当我最初将一个值更改为 true 然后打印时,我已经确认了这一点,它表明它是 false,false,false,true,false,false,false,并且我观察到的属性被击中,所以“它改变了!” 显示在控制台中。

但是,我后来再次打印出来,它又恢复为 false,尽管没有改变它的值(我可以看到)并且属性观察器没有被命中。它不会打印“它改变了”,但在控制台中,它会打印 false、false、false、false、false、false、false。

任何帮助将非常感激。

0 投票
0 回答
353 浏览

swift - 带有“get”和“didSet”的 Swift 变量

我试图让一个 swift 3 Date 变量在设置时采取行动。该操作的一部分是调用类中的函数来处理副作用。

我遇到的问题是该方法也从其他地方调用,并且它所做的部分工作是设置相同的日期变量。这意味着我最终得到一个循环,因为 setter 调用了调用 setter 的函数。

我以为我会有一个单独的后备存储,然后同时实现“get”和“didSet”,但这显然是不允许的。

我该如何解决这个问题?

0 投票
3 回答
10527 浏览

swift - 在 Swift 中,重置 didSet 中的属性会触发另一个 didSet 吗?

我正在对此进行测试,看来如果您更改 内的值didSet,则不会再次调用didSet.

我可以依靠这个吗?它是否记录在某处?我在Swift Programming Language文档中没有看到它。

0 投票
1 回答
12687 浏览

properties - Kotlin 中是否有 didSet/willSet 模拟?

我喜欢这种 Swift 语法;它对很多事情都非常有帮助:

我很想在 Kotlin 中做到这一点。但是,我找不到正确的语法

Kotlin 中有这样的东西吗?

0 投票
4 回答
3621 浏览

swift - 如何在不更改属性值的情况下调用 didSet

我需要在didSet不更改属性值的情况下执行代码。

最近来自 Objective-C,似乎没有setMyProperty().

所以我尝试了:

导致错误Assigning a property to itself

因为myProperty碰巧是CGFloat,我可以这样做:

它会触发didSet并且不会影响值,但它并没有显示我在这里的意思。

有没有办法以didSet更清晰/直接的方式调用?

0 投票
4 回答
602 浏览

swift - Swift didSet 不会触发

假设我有具有 3 个属性的练习集类:id、name、isEnabled。

我有一个此类的对象数组:

在代码中的某处,我执行以下操作:

但是在这种情况下 didSet 不会触发。只有当我这样写:

为什么会这样?我可以以某种方式使用前一个选项吗?后一个似乎很冗长,我讨厌它。

0 投票
1 回答
586 浏览

swift - 内部 didSet 保护奇怪地延伸到整个类?

众所周知,当然,didSet 不会再次从 didSet 内部在同一个对象上运行。(例如。)

然而。似乎:限制不仅适用于该对象,而且可能适用于同一类的任何对象

这是 Playground 的复制粘贴测试用例。

不工作!

不工作!

  1. 这是一个 Swift 错误吗?

  2. 如果没有,实际的限制是什么?它不会运行从 didSet 开始的任何 didSet(无论如何)?同一个班级?;同一个超级班?或者?

  3. 这在doco中到底是在哪里解释的?

哇。需要知道......具体的实际限制是什么?

0 投票
2 回答
188 浏览

swift - 无法在 didSet 中调用函数。错误消息:“表达式解析为未使用的函数”

的变量didSet正在单独的 Swift 文件中进行更改并且可以正常工作,我可以访问该if语句。但我无法让这些功能正常工作并为两者收到相同的错误消息。

更新计数

加载动画

0 投票
2 回答
2269 浏览

swift - Swift - didSet 中的弱自我

我很少看到人们使用[weak self]indidSet . 是否有一个原因?

我试图[weak self]在我didSet的变量中使用:

我输入[weak self] in[1] 或 [2],我仍然得到错误:Use of unresolved identifier weak

这是为什么?[weak self]使用a是否违法didSet

问候,

0 投票
1 回答
76 浏览

swift - Swift:变量值不会延续到 didSet

这是我在 Swift 中的第一个项目,所以请多多包涵。

punkteLimit 应使用值 30 进行初始化。每次更改滑块值时,都应更新变量的值以及标签。

这似乎工作正常。标签正确更新,即当我将滑块更改为 28 时,它显示“Punkte-Limit:28”。但是,punkteLimit 在以下部分中被卡在初始值 30 上(对于 thinkPunktelimit 也是如此,但解决方案应该相同)。无论上述更改如何,触觉反馈都将在 gesamtPunkte == 30 时触发。

如果重要,我使用执行 gesamtPunkte += 1 的按钮来调整值。

我不确定从这里去哪里。

非常感谢您的帮助。