View Full Version : [iPhone] Which way do you instantiate Views?

Jun 24, 2008, 02:48 PM
I'd like to get a feel for how people here build up their Views. All the samples I am using as a basis override the loadView method and build by hand their views... This seems tedious, especially with the nice Interface Builder app. So, to give some background - I used the View based application template when first creating the project. Then, in Interface Builder, I added a SearchBar and a UITableView object to my View. Then I defined two IBOutlets for each of the elements (SearchBar and UITableView) so that I could access them in the ViewController.m file. Finally, with the IBOutlets defined, I could Ctrl+Drag from each of my defined outlets in the View's attributes inspector to each of the UI elements. This saved me the work of having to manually allocate the View, and set the window's view with it. The downside is now I can't figure out how to invoke the ViewController's init method I have written for it. All I want to do in the ViewController's init is alloc/init my custom DataSource so that in my viewDidLoad override, I can set the UITableView's dataSource to this instance. Now, I suppose I can just allocate and instantiate it right there in the viewDidLoad method, but there's got to be a cleaner way, right?

How would you go about this? Thanks,


Jun 24, 2008, 07:53 PM
awakeFromNib is likely what you are looking for. Check the class documentation for NSObject for the method.