Tab Based Controller Connection Issues
I have an issue .
I have code that r开发者_JS百科eads in RSS feeds, its navigation based.
RssFunViewController - > thats the view for the table (list of feeds)
NewsDetailViewController - > thats shows more information about the news feed which was selected by user (in a new view).
But when i try to use it in a tab-based navigation project it doesnt work. I just get the table of RSS feeds, When i click an item i dont see the detailed view.
I think my issue is the connection with the tab controller and my classes.
For my 3rd navigation tab I set RssFunViewController as the class.
My question is how do i connect my RSSFunViewController and NewsDetailViewController so when the user clicks the item I see the detailed view.
Heres my current connections in my tab controller: www.freeimagehosting.net/uploads/535e439c7f.jpg
Thanks everyone.
Maybe I have to disappoint you, but iPhone coding has a very steep learning curve past the drag&drop and connect the dots phase, where you actually have to understand things and make them work using code.
Although the information you give is very limited, here's a brief outline of how the table click action could be handled.
The table should have it's delegate and data source connected to the right class (may be, but does not have to be the same class).
The delegate class should contain a method
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
which will be called when a table entry is tapped. indexPath.row will then give the row number of the tapped entry.
In this method, you could present another view controller showing details, e.g. like:
NewsDetailViewController *ndvc = [[NewsDetailViewController alloc] autorelease];
ndvc.delegate = self;
[ndvc setFeedId:indexPath.row];
[ndvc initWithNibName:@"NewsDetailViewController" bundle:nil];
[self.navigationController pushViewController:ndvc animated:YES];
(assuming the NewsDetailViewController would have a setFeedId method etc.)
or you could have the NewsDetailViewController instantiated in your nib file so you could skip the alloc and initWithNibName steps, and put an "IBOutlet NewsDetailViewController *ndvc;" in the header file so you can connect them.
To remove the highlight from the tapped row, do
[tableView deselectRowAtIndexPath:indexPath animated:YES];
If you're working on a supplied project, you should be able to find lines like these already lying around. Good luck.
精彩评论