我对NSView进行了此扩展,以便更轻松地使用视图。
import Cocoa
public extension NSView {
var invertedFrame: NSRect {
get {
return NSRect(x: frame.origin.x,
y: superview.bounds.height - frame.origin.y,
width: bounds.size.width,
height: bounds.size.height)
}
set {
self.frame = NSRect(x: newValue.origin.x,
y: superview.bounds.height - newValue.origin.y - newValue.height,
width: newValue.width,
height: newValue.height)
}
}
}
但每当我尝试使用它时,我都会收到编译时错误...
Command /Applications/Xcode6-Beta4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254
但是,如果我将计算变量剪切并粘贴到类实现中,它可以正常工作。
我不确定为什么会这样。我的代码有问题吗?任何人都能做到这一点吗?
答案 0 :(得分:0)
你的属性设置器没有将newValue
声明为方法参数,但是编译器显然崩溃了,而不是告诉你。请记住,仅在set
属性声明中找到裸protocol
。
答案 1 :(得分:0)
我不确定哪个更新修复此问题,但在Xcode 6 beta 5中它运行正常。所以这只是一个编译器错误。