lazy attribute in Swift equivalent to lazy Init getter in Objective C
ios, lazy-evaluation, objective-c, swift
Solution
From the docs:
A lazy stored property is a property whose initial value is not calculated until the first time it is used. You indicate a lazy stored property by writing the lazy attribute before its declaration.
So, mostly, yes.
You must always declare a lazy property as a variable (with the var keyword), because its initial value may not be retrieved until after instance initialization completes. Constant properties must always have a value before initialization completes, and therefore cannot be declared as lazy.”
Remember that on Swift you have the option to declare custom getters and setters for your properties:
var name : String?{
get{
return "Oscar"
}
set(newValue){
}
}
Problem
Is the lazy attribute in Swift equivalent to overriding the getter with a lazy loading pattern in Objective C?