I am working with keyboard resign features in iPhone app development. I would like to know why
self.textField.delegate = self
A few points
The reason you need to set the delegate is because without it the view doesn't know about the view controller. So it wouldn't know about your method
textFieldDidEndEditing and it would never be called.
That is the basic premise of delegate, you are telling that object, "here is an object that I want you to call methods on"
It doesn't have to be set in
viewDidLoad - but it's often the most convient place to set up delegates for views.
The delegate doesn't have to be the view controller (
self), in your case it's the simplest way, but with a
UITableView its common to have another class be the delegate so that all the logic isn't in one place and so it can be changed.