I want to use Lazy initialization for some of my properties in Swift. My current code looks like this:
lazy var fontSize : CGFloat = {
  if (someCase) {
    return CGFloat(30)
  } else {
    return CGFloat(17)
  }
}()
The thing is that once the fontSize is set it will NEVER change. So I wanted to do something like this:
lazy let fontSize : CGFloat = {
  if (someCase) {
    return CGFloat(30)
  } else {
    return CGFloat(17)
  }
}()
Which is impossible.
Only this works:
let fontSize : CGFloat = {
  if (someCase) {
    return CGFloat(30)
  } else {
    return CGFloat(17)
  }
}()
So - I want a property that will be lazy loaded but will never change.
What is the correct way to do that? using let and forget about the lazy init? Or should I use lazy var and forget about the constant nature of the property?
 
     
     
     
     
    