Whats design pattern does UITableView use to populate and what are the benefits?
Is it delegate pattern? Reason I am asking is that it’s not just delegate but the datasource as well.Seems more like along the line with MVC.
I have just gone through a couple of tutorials online their\my code is working but it looks like I am missing the point.I end with all these methods in my main controller.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;//any number based on datasource size.
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
cell.text = [names objectAtIndex:indexPath.row];//names is an array.
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
It is a view based application . Should it be in a sperate controller.Otherwise it just looks messy and over the top way of doing something simple. I am not at all saying Objective C or apple is wrong but just that I am a beginner and missing the whole point of this delegate and datasource setup.
so to summarise can someone please explain:
1-Whats the benefit of this delegate and datasource setup?
2-Whats the name of this design pattern?
3-Should I have a separate controller (in view based application)?
In Apple’s parlance,
delegateimplements call-back methods which modify the UI behavior, anddataSourceprovides the data. In a bigger app, you can use two different objects to be the delegate and the data source separately.I’m not familiar with the official terminology, sorry …
Depends on the size of your app. Even if you just use
appDelegatefor everything, it’s recommended to addso that the method list is shown nicely inside Xcode.