appreciated.thanks您正在使用optional chaining,这意味着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
其实不是零。
thanks.it解决了我的问题 – user3823935 2014-09-04 11:09:28