问题标签 [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 投票
2 回答
285 浏览

ios - Swift 中的 UITextField – 键入时未调用文本 didSet

我现在正在用 Swift 编写自定义 UITextField,并遇到以下情况:

现在,在对此进行测试时,我观察到,当用户输入内容时,textEditingChanged会调用它,但text.didSet不会调用。也不是text.willSet,就此而言。但是,在 中textEditingChanged,文本字段的文本将已更新为新值。

谁能解释这里发生了什么?斯威夫特是故意绕过二传手吗?我应该如何知道何时/是否调用了 setter,在 UIKit 中是否有任何逻辑?

0 投票
1 回答
19 浏览

swift - 为什么我不能在按钮单击时更改图像?

我正在尝试更改按钮单击时的图像,我正在使用 didset 来执行此操作,当变量发生更改时,图像也会更改,即使变量正在更改,它也无法正常工作,这是我的代码:

变量也发生了变化:

受影响的变量:

其中资产字符串 i:

触发页面变化的函数:

所有选项对象都有一个标签感谢大家的时间

0 投票
0 回答
19 浏览

swift - 向属性观察器中的对象添加平移手势

现在我的代码结合了属性观察器和堆栈视图。我现在要做的是为您在下面的 gif 中看到的每个蓝色对象添加一个平移手势。您可以在下面的 gif 中看到下面 gif 中的蓝色对象是什么。对象是蓝色按钮。我尝试将平移手势添加到 t_button 但我不能这样做,因为它超出了范围并且将其移出它所在的方法时。它会影响按钮的显示方式。我只想让蓝色物体移动。

在此处输入图像描述

0 投票
2 回答
58 浏览

ios - 如何在 viewDidLoad 上调用 tableView?

我是 iOS 新手,我正在尝试从selectedContact. 它适用于addressLabel.text但我不知道当它是表格视图时如何调用它?

0 投票
1 回答
72 浏览

set - 当滑块用于其他任务时保持原始滑块值

当滑块值用于其他用途时,我希望下面的快速代码保持宽度约束的滑块值。你可以在下面的 gif 中看到发生了什么。当滑块的值用于其他用途时,约束会发生变化。当滑块的值被考虑为其他东西时,约束不应该改变。 在此处输入图像描述

0 投票
0 回答
27 浏览

swiftui - SwiftUI 初学者:如何正确使用 didSet?

如果这已经被覆盖,我很抱歉,我在问这个问题时可能会犯任何错误——我对 Stackoverflow 和 SwiftUI 都很陌生。因此,据我了解,在更改变量时会调用 didSet。但是,当我执行此代码时,尽管 var number1 和 var number2 正在更改,但似乎 var finalNum 并未更新?为什么 number1 和 number2 对应的 didSet 没有被执行?这个想法是 number1 和 number2 的选择器彼此相邻,因此 number1 用于设置 finalNum 的十位,而 number2 用于设置个位。

(其中很多不是来自我自己;它来自我用来熟悉 Picker 的一个例子。

0 投票
1 回答
40 浏览

swift - swift - 在 UIImageView 上没有调用 didSet

我如何才能didSet识别何时imageView.image已设置?它似乎只在初始化期间被调用。

0 投票
2 回答
46 浏览

ios - 从函数更新标签文本的正确方法是什么?

我试图让我的 UILabel 的文本基于循环计时器以 1 为增量自动更新。标签链接到一个变量。我不确定这是否重要,但我正在使用自动布局锚以编程方式执行我的 UI。

我知道这不起作用,因为变量位于 ViewDidLoad() 之外。我还尝试在单独的文件中设置 UILabel 的子类,但我无法找到正确的方法。我无法将变量连接到子类并正确实现 didSet。

这是我的视图控制器中的相关代码,任何建议或替代方法都值得赞赏。

查看上下文

0 投票
0 回答
41 浏览

swift - Swift:数组已设置,但在访问时为空

我有一个数组,一旦调用特定的 API 就会设置。但是,当我稍后尝试访问该数组时,它又是空的。

有问题的类如下所示:

我关注的变量是 sourceList var。

现在,在创建此对象的类中,我们声明 SearchableLoginFormField 如下:

然后我们使用以下委托方法设置 sourceList:

当从 API 调用中检索机场列表时调用此方法。

断点证明 sourceList 设置正确:

  • airportsSet() 委托方法被命中并包含正确的机场列表
  • SearchableLoginFormField 上的 didSet 方法被触发,并且 sourceList 成功设置为 Airports 列表
  • 当我们在编辑字段时点击 textField 委托方法时,sourceList 为空我尝试将 configureFormField() 方法移动到 sourceList 上的 didSet 中,但我得到了相同的结果。

我真的很困惑这似乎是如何设置的,但又是空的。我将断点保留在 didSet 上,并且在任何时候它都不会被其他任何东西设置为空。

超类包含以下变量:

和以下 textFieldDelegate 方法:

因此,在 configureFormField 方法中,我们相应地设置了此委托方法的操作,该操作会被触发。正是在这一点上,sourceList 是空的。

该字段本身在主显示viewController的viewDidLoad中添加如下:

0 投票
2 回答
211 浏览

swift - SwiftUI:操作未通过切换触发

我正在尝试使用拨动开关触发动作。在这种情况下,单击切换按钮后,控制台上不会显示打印消息“值确实发生了变化”。

这是针对 macOS 10.15 应用程序的,.onChange 将不起作用。