gpt4 book ai didi

ios - 可选类型 'UIWindow?' 的值必须解包才能引用包装基类型 'viewWithTag' 的成员 'UIWindow'

转载 作者:行者123 更新时间:2023-11-29 05:18:38 27 4
gpt4 key购买 nike

我已将 Objective-C 文件转换为 Swift,现在转换为:

if isCaptured {
let colourView = UIView(frame: window.frame)
colourView?.backgroundColor = UIColor.black
colourView?.tag = 1234
colourView?.alpha = 0

window!.makeKeyAndVisible()
window.addSubview(colourView)

// fade in the view
UIView.animate(withDuration: 0.5, animations: {
colourView?.alpha = 1
})
} else {
// grab a reference to our coloured view
let colourView = window.viewWithTag(1234)

// fade away colour view from main view
UIView.animate(withDuration: 0.5, animations: {
colourView?.alpha = 0
}) { finished in
// remove when finished fading
colourView?.removeFromSuperview()
}
}

但我收到错误:

Value of optional type 'UIWindow?' must be unwrapped to refer to member 'viewWithTag' of wrapped base type 'UIWindow'

附上截图:

error screenshot

如何纠正这个问题?

最佳答案

您已经使用 window!.makeKeyAndVisible() 将其打开。因此,您可以在这里执行相同的操作 -> window!.viewWithTag(1234)

还建议阅读https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html 。您需要了解基本概念才能了解强制展开意味着什么以及何时可以安全使用。

关于ios - 可选类型 'UIWindow?' 的值必须解包才能引用包装基类型 'viewWithTag' 的成员 'UIWindow',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58910465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com