While playing a little bit with Swift I tried to write a readonly and lazy initialized property. I quickly wrote that line of code just to learn that it\'s not allowed.
You can also use a private backing variable that initializes lazily:
var foo : Int { return _foo } private lazy var _foo :Int = { return 42 }()