To change something on startup you run some code in viewDidLoad.
The handling in shouldChangeTextInRange is correct like in
stackoverflow described.
What weird effect?
Tip 1: NSNumberFormatter should created only ONCE (high cost object)
Tip 2: convert to ARC (with the assisent in Edit->convert)