使用Swift中另一个变量的初始化值初始化变量

时间:2016-03-07 08:04:57

标签: swift

所以我想做的是:

let margin: CGFloat = 10
let width: CGFloat = 100 - margin
// also used self.margin

但这是我得到的错误:

Instance member 'margin' cannot be used on type 'HistoryViewController'

我该怎么办?

3 个答案:

答案 0 :(得分:4)

let margin: CGFloat = 10
var width: CGFloat { return 100 - self.margin }

或者

lazy var width: CGFloat = 100 - self.margin

这是因为在实例变量初始化时,实例尚不存在。使用延迟初始化或计算属性将解决此问题。

答案 1 :(得分:1)

sed -e ':a;/rpms$/!{N;s/\n//;ba}'

答案 2 :(得分:1)

你可以这样做:

首先声明类级变量,如下所示:

let margin: CGFloat = 10
var width = CGFloat()

然后在函数内给出宽度值,比如说viewDidLoad()

override func viewDidLoad() {
        super.viewDidLoad()
        width = 100 - margin
    } 

谢谢!
快乐编码