Assigning initial value via getter or viewDidLoad
I would recommend to use one common method for initialization of all the variables, constants, NSUserDefaults, etc.. 

viewDidLoad should not be messy, it should mostly have calls to the methods.
I believe you are all aware with code reusability and code optimization techniques.