在 Swift 的调试消息中检查字符串
Check for a string in a debug message in Swift
我有一个 View
和一个 view.backgroundColor
。当我将值打印到调试日志时,我得到
<UIImage:0x283b31b00 named(main: bg_200_200) {200, 200} renderingMode=automatic>
是否可以检查这个“字符串”(我知道它不是真正的字符串)是否出现了文本,例如如果它包含“bg_200”?
谢谢!
UI 总是从某些数据模型生成的。与其检查 UI 中的值,不如测试用于生成 UI.
的数据模型中的值
这在 Swift 中尤为明显UI,它始终是数据驱动的,并且在数据模型发生变化时总是重新生成。
在 UIKit 中,这可能不太明显 - 例如,当您从某个动作更改背景时,例如:
@IBAction func onButtonClicked() {
myView.backgroundColor = ...
}
如果您以后需要访问该值,最好将其存储在数据模型中,然后使用该值更改 UI,例如:
private var buttonWasClicked = false
@IBAction func onButotnClicked() {
buttonWasClicked = true
updateBackground()
}
private func updateBackground() {
myView.backgroundColor = buttonWasClicked ? UIColor.red : UIColor.clear
}
我有一个 View
和一个 view.backgroundColor
。当我将值打印到调试日志时,我得到
<UIImage:0x283b31b00 named(main: bg_200_200) {200, 200} renderingMode=automatic>
是否可以检查这个“字符串”(我知道它不是真正的字符串)是否出现了文本,例如如果它包含“bg_200”? 谢谢!
UI 总是从某些数据模型生成的。与其检查 UI 中的值,不如测试用于生成 UI.
的数据模型中的值这在 Swift 中尤为明显UI,它始终是数据驱动的,并且在数据模型发生变化时总是重新生成。
在 UIKit 中,这可能不太明显 - 例如,当您从某个动作更改背景时,例如:
@IBAction func onButtonClicked() {
myView.backgroundColor = ...
}
如果您以后需要访问该值,最好将其存储在数据模型中,然后使用该值更改 UI,例如:
private var buttonWasClicked = false
@IBAction func onButotnClicked() {
buttonWasClicked = true
updateBackground()
}
private func updateBackground() {
myView.backgroundColor = buttonWasClicked ? UIColor.red : UIColor.clear
}