大佬教程收集整理的这篇文章主要介绍了Swift中可选类型CGFloat的值未解包错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您正在使用可选链接,这意味着self.window?.frame.wIDth
如果window
不是nil
,则计算结果为有效整数,否则nil
为height
。
由于您无法使一个CGRect
包含nil
(或更确切地说,CGRectMake
不接受其任何参数的可选参数),因此编译器将其报告为错误。
解决方案是隐式展开self.window
:
var loadVIEw = UIVIEw(frame: CGRectMake(0, 0, self.window!.frame.size.wIDth, self.window!.frame.size.height))
但是,这引起了在该事件运行时错误self.window
是nil
。用可选的绑定将其包围总是更好的做法:
if let window = self.window {
var loadVIEw = UIVIEw(frame: CGRectMake(0, 0, window.frame.size.wIDth, window.frame.size.height))
.... do something with loadVIEw
}
这样就可以确保仅在self.window
实际上不为零时创建视图。
码:
var loadView = UIView(frame: CGRectMake(0,self.window?.frame.size.width,self.window?.frame.size.height))
我尝试以编程方式创建UIView。尝试设置视图的窗口高度和宽度时,它给出错误为“可选类型’CGFloat的值?” 没有包装;您的意思是使用’!’ 要么
‘?’?” 为什么显示此错误?需要任何帮助。
以上是大佬教程为你收集整理的Swift中可选类型CGFloat的值未解包错误全部内容,希望文章能够帮你解决Swift中可选类型CGFloat的值未解包错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。