class Class { static lazy var value: Int = { preconditionFailure() }() } とするとalready-lazyと怒られたのでclass Class { static var value: Int = { preconditionFailure() }() } Class.value = 1 こんな感じで定義したのですが、どうも代入前にpreconditionFailureが呼ばれているようなのですがこれはどうしてなのでしょう…?