我正在尝试更新PKHUD(https://github.com/pkluz/PKHUD)以与Xcode
6 beta 5一起使用,并且除了一个小细节外,几乎可以通过:
internal class Window: UIWindow {
required internal init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
internal let frameView: FrameView
internal init(frameView: FrameView = FrameView()) {
self.frameView = frameView
// this is the line that bombs
super.init(frame: UIApplication.sharedApplication().delegate.window!.bounds)
rootViewController = WindowRootViewController()
windowLevel = UIWindowLevelNormal + 1.0
backgroundColor = UIColor.clearColor()
addSubview(backgroundView)
addSubview(frameView)
}
// more code here
}
Xcode给我错误UIWindow? does not have a member named 'bounds'
。我敢肯定这是与类型转换有关的小错误,但是我已经几个小时找不到答案了。
另外,此错误仅在Xcode 6 beta 5中发生,这意味着答案在于Apple最近更改的内容。
非常感谢所有帮助。
协议中的window
属性声明UIApplicationDelegate
从
optional var window: UIWindow! { get set } // beta 4
至
optional var window: UIWindow? { get set } // beta 5
这意味着它是一个可选属性,产生一个可选UIWindow
:
println(UIApplication.sharedApplication().delegate.window)
// Optional(Optional(<UIWindow: 0x7f9a71717fd0; frame = (0 0; 320 568); ... >))
因此,您必须将其拆开两次:
let bounds = UIApplication.sharedApplication().delegate.window!!.bounds
或者,如果您要检查应用程序委托没有window属性的可能性,或者将其设置为nil
:
if let bounds = UIApplication.sharedApplication().delegate.window??.bounds {
} else {
// report error
}
更新: 使用Xcode 6.3,该delegate
属性现在也被定义为可选属性,因此该代码现在为
let bounds = UIApplication.sharedApplication().delegate!.window!!.bounds
要么
if let bounds = UIApplication.sharedApplication().delegate?.window??.bounds {
} else {
// report error
}
问题内容: 我正在一个Swift操场上玩,正在上一堂新课。由于某种原因,我不断收到这样的错误:类“没有成员类型”,其名称的常量前面定义了三行。这是代码: Xcode Beta6一直在倒数第二行给我一个错误,说“ DataModel.Type没有名为’myCalendar’的成员 尽管我认为这不会有所作为,但我尝试将myCalendar定义为var。 问题答案: 您无法初始化引用同一类的另一个实例属
问题内容: 该函数的第一行在:类上获取错误。 我遵循Django文档教程,并且它们具有相同的代码并正在运行。 我尝试调用一个实例。 也是我该类的models.py代码是… 无济于事,我仍然有这个错误。 我已经读过有关pylint的文章并进行了运行… 这没有帮助,即使github自述文件说… 防止有关Django生成的属性(例如Model.objects或Views.request)的警告。 我在我
简单的代码,但仍然不能弄清楚哪里出了问题,它说模块pygame没有成员退出,退出
问题内容: 我知道,这个特定的错误已经在各处发布,并且代码有些基本,但是我自己仍然无法弄清楚这个错误,我需要建议。 问题是当我添加parse.com上提供的前两行代码以保存对象时 第二行出现以下错误: “ PFObject”没有名为“下标”的成员 我正在使用Xcode 6.3 beta2。所有必需的库都与通过BridgeHeader导入的二进制文件链接。 我应该使用什么语法? 问题答案: 发生这种
问题内容: 将项目转换为swift 3后,在此代码块的第一行出现以下错误: 我猜该错误是由.. 语法变化引起的,对此的更正是什么? 问题答案: 新语法如下: 作为建议,您无需指定该字符串,因为假定您要为其分配值。
问题内容: 我正在尝试将代码从Swift 2版本迁移到Swift 3版本。我无法迁移以下代码部分,也没有找到任何解决方案。我该怎么做? //标记:URLRequestConvertible 问题答案: 我会将此计算属性的名称更改为,以避免与新的类型名称冲突。巧合的是,此计算属性应使用以下类型: