Swift:这里不允许使用没有getter/setter方法的'var'声明

Man*_*ani 14 ios swift

我试图IBOutlet在类的扩展上声明属性.但它给出了错误

此处不允许使用不带getter/setter方法的'var'声明

class ExampleView : UIView
{

}

extension ExampleView
{
    @IBOutlet var btn1, btn2 : UIButton // here I got error.

}
Run Code Online (Sandbox Code Playgroud)

请任何人建议我这样做的正确方法?

Dav*_*ndz 9

来自Extensions- > Computed PropertiesinThe Swift Programming Language

注意

扩展可以添加新的计算属性,但不能添加存储的属性,也不能将属性观察者添加到现有属性.


另外回应twlkyao的评论:这是我absoluteValue对a 的属性的实现Double

extension Double {
    var absoluteValue: Double {
        if self >= 0 {
            return self
        } else {
            return -self
        }
    }
}

// Simple test -> BOTH println() should get called.
var a = -10.0
if (a < 0) {
    println("Smaller than Zero")
}
if (a.absoluteValue > 5) {
    println("Absolute is > 5")
}
Run Code Online (Sandbox Code Playgroud)