问题标签 [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.
swift - 财产观察者没有受到打击,但价值正在改变
我有一个变量,似乎在整个应用程序中都在变化。当我最初将一个值更改为 true 然后打印时,我已经确认了这一点,它表明它是 false,false,false,true,false,false,false,并且我观察到的属性被击中,所以“它改变了!” 显示在控制台中。
但是,我后来再次打印出来,它又恢复为 false,尽管没有改变它的值(我可以看到)并且属性观察器没有被命中。它不会打印“它改变了”,但在控制台中,它会打印 false、false、false、false、false、false、false。
任何帮助将非常感激。
swift - 带有“get”和“didSet”的 Swift 变量
我试图让一个 swift 3 Date 变量在设置时采取行动。该操作的一部分是调用类中的函数来处理副作用。
我遇到的问题是该方法也从其他地方调用,并且它所做的部分工作是设置相同的日期变量。这意味着我最终得到一个循环,因为 setter 调用了调用 setter 的函数。
我以为我会有一个单独的后备存储,然后同时实现“get”和“didSet”,但这显然是不允许的。
我该如何解决这个问题?
swift - 在 Swift 中,重置 didSet 中的属性会触发另一个 didSet 吗?
我正在对此进行测试,看来如果您更改 内的值didSet
,则不会再次调用didSet
.
我可以依靠这个吗?它是否记录在某处?我在Swift Programming Language文档中没有看到它。
swift - 如何在不更改属性值的情况下调用 didSet
我需要在didSet
不更改属性值的情况下执行代码。
最近来自 Objective-C,似乎没有setMyProperty()
.
所以我尝试了:
导致错误Assigning a property to itself
。
因为myProperty
碰巧是CGFloat
,我可以这样做:
它会触发didSet
并且不会影响值,但它并没有显示我在这里的意思。
有没有办法以didSet
更清晰/直接的方式调用?
swift - Swift didSet 不会触发
假设我有具有 3 个属性的练习集类:id、name、isEnabled。
我有一个此类的对象数组:
在代码中的某处,我执行以下操作:
但是在这种情况下 didSet 不会触发。只有当我这样写:
为什么会这样?我可以以某种方式使用前一个选项吗?后一个似乎很冗长,我讨厌它。
swift - 内部 didSet 保护奇怪地延伸到整个类?
众所周知,当然,didSet 不会再次从 didSet 内部在同一个对象上运行。(例如。)
然而。似乎:限制不仅适用于该对象,而且可能适用于同一类的任何对象。
这是 Playground 的复制粘贴测试用例。
不工作!
不工作!
这是一个 Swift 错误吗?
如果没有,实际的限制是什么?它不会运行从 didSet 开始的任何 didSet(无论如何)?同一个班级?;同一个超级班?或者?
这在doco中到底是在哪里解释的?
哇。需要知道......具体的实际限制是什么?
swift - 无法在 didSet 中调用函数。错误消息:“表达式解析为未使用的函数”
的变量didSet
正在单独的 Swift 文件中进行更改并且可以正常工作,我可以访问该if
语句。但我无法让这些功能正常工作并为两者收到相同的错误消息。
更新计数
加载动画
swift - Swift - didSet 中的弱自我
我很少看到人们使用[weak self]
indidSet
. 是否有一个原因?
我试图[weak self]
在我didSet
的变量中使用:
我输入[weak self] in
[1] 或 [2],我仍然得到错误:Use of unresolved identifier weak
这是为什么?[weak self]
使用a是否违法didSet
?
问候,
swift - Swift:变量值不会延续到 didSet
这是我在 Swift 中的第一个项目,所以请多多包涵。
punkteLimit 应使用值 30 进行初始化。每次更改滑块值时,都应更新变量的值以及标签。
这似乎工作正常。标签正确更新,即当我将滑块更改为 28 时,它显示“Punkte-Limit:28”。但是,punkteLimit 在以下部分中被卡在初始值 30 上(对于 thinkPunktelimit 也是如此,但解决方案应该相同)。无论上述更改如何,触觉反馈都将在 gesamtPunkte == 30 时触发。
如果重要,我使用执行 gesamtPunkte += 1 的按钮来调整值。
我不确定从这里去哪里。
非常感谢您的帮助。