I don't understand the mechanism of loadView:
function (this function is in UIView).
I created a project as below:
- First, I created a iPhone's window-based project.
- Then, I created a
UIView
subclass - Next, I created a
UIViewController
subclass, with no xib. - Lastly, in the
loadView:
function of the class I created in the third step, I designate the UIView object (in the class I created in the second step) as the view variable of theUIViewController
object (in the third step).
If I omit the last step, and place the statement NSLog(@"test LoadView");
in the loadView: function, then when the project is run, the statement NSLog(@"test LoadView");
is invoked continuously, result in the run is overflow.
Please explain me! Thank you!
loadView:
is only invoked when the view property isnil
. Use this when creating views programmatically.default:
create a UIView object with no subviews. For ex -By implementing the
loadView:
method, you hook into the default memory management behavior. If memory is low, a view controller may receive thedidReceiveMemoryWarning
message. The default implementation checks to see if the view is in use. If its view is not in the view hierarchy and the view controller implements theloadView:
method, its view is released. Later when the view is needed, theloadView:
method is invoked again to create the view.Not sure why you want to use
loadView:
but you can do just as much inviewDidLoad:
Reference -
Hope this helps.