Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old May 10, 2011, 10:56 AM   #1
RonC
macrumors regular
 
Join Date: Oct 2007
Location: Chicago-area
Nested TableViewControllers

Maybe I missed something when I learned about TableViewControllers. I'm struggling with a simple concept - nested TableViewControllers - and I'm looking for the right design pattern / idiom for this.

When I say nested, I mean a hierarchy of tables - as an example, consider this:
a first table view is presented with 3 options: A, B, and C. If A is selected, another table view is presented with options a,b, and c; if B is selected, a different table view is presented with options x, y, and z; and if C is selected, yet another table view is prestned with options 1, 2, and 3. This continues through the hierarchy of possible options.
I've coded this up with a whole set of TableViewControllers that get pushed onto the navigation stack (FirstTableViewController, AnotherTableViewController, DifferentTableViewController, and YetAnotherTableViewController) as the various options are selected, but it seems both tedious and sub-optimal. Tedium and sub-optimal are fine when it's limited, but I'm afraid it won't stay that way (and further I expect other apps will follow this same pattern).

I did a quick search through this forum and didn't find anything that seemed to match, so I'm asking. Is there a better design pattern for this or is this the right way to do it?
RonC is offline   0 Reply With Quote
Old May 10, 2011, 11:01 AM   #2
robbieduncan
Moderator
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
I defined my own protocol that defines how the table is populated with data, and push instances of the same table view controller with different data source objects.
robbieduncan is offline   0 Reply With Quote
Old May 10, 2011, 11:28 AM   #3
PhoneyDeveloper
macrumors 68030
 
PhoneyDeveloper's Avatar
 
Join Date: Sep 2008
This is sometimes called a drill-down interface.

Obviously UITableViewController does most of the work. It's designed to be data-driven. That is it is very flexible and it displays whatever rows are presented to it.

If you have a drilldown interface it's not that hard to come up with a data model that is hierarchical so that you can display a part of it in the tableview. It also has to be able to contain the information of what is the next set of data to be displayed. So if the user taps row 5 of the second of A, B, C dataset it has to be able to determine from the data what needs to be pushed. If you can design that then you can use one view controller class. You need a single data model that holds all the info.

If you have something to display like Countries, States, Cities the view controller needs to be able to know where it is in that hierarchy so it can pass it to a new instance of the view controller at the next level of the drilldown.
PhoneyDeveloper is offline   0 Reply With Quote
Old May 10, 2011, 05:10 PM   #4
RonC
Thread Starter
macrumors regular
 
Join Date: Oct 2007
Location: Chicago-area
Thanks, that's very helpful. I've seen drill down before, it just never clicked that it could be as simple as that.

Sometimes I feel like I'm just a shill for the house...
RonC is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > iPhone/iPad Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
iPhone: Nested Folder Tweak? a2k Jailbreaks and iOS Hacks 5 Jan 20, 2014 07:48 PM
Nested Dictionaries GerardGrundy Mac Programming 1 Sep 24, 2013 05:34 PM
No nested folders?? iFoamS iOS 7 37 Sep 10, 2013 05:02 PM
Nested folders in Mail cannot be modified Diogones Mac OS X 10.7 Lion 0 Aug 12, 2012 11:48 AM
Nested NSMutableDict Question larswik iPhone/iPad Programming 4 Jun 4, 2012 08:55 PM

Forum Jump

All times are GMT -5. The time now is 03:05 AM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC