Graphics Programs Reference
In-Depth Information
@end
In DetailViewController.m , synthesize the accessors for item and import
BNRItem 's header file.
#import "BNRItem.h"
@implementation DetailViewController
@synthesize item;
When the DetailViewController 's view appears on the screen, it needs to setup
its subviews to show the properties of the item . In DetailViewController.m ,
override viewWillAppear: to transfer the item 's properties to the various UITex-
tField s.
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[nameField setText:[item itemName]];
[serialNumberField setText:[item serialNumber]];
[valueField setText:[NSString stringWithFormat:@"%d", [item valueInDollars]]];
// Create a NSDateFormatter that will turn a date into a simple date string
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
// Use filtered NSDate object to set dateLabel contents
[dateLabel setText:[dateFormatter stringFromDate:[item dateCreated]]];
}
In ItemsViewController.m , add the following code to
tableView:didSelectRowAtIndexPath: so that DetailViewController
has its item before viewWillAppear: gets called.
- (void)tableView:(UITableView *)aTableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailViewController = [[DetailViewController alloc] init];
NSArray *items = [[BNRItemStore sharedStore] allItems];
BNRItem *selectedItem = [items objectAtIndex:[indexPath row]];
// Give detail view controller a pointer to the item object in row
[detailViewController setItem:selectedItem];
[[self navigationController] pushViewController:detailViewController
animated:YES];
}
Many programmers new to iOS struggle with how data is passed between UIViewCon-
troller s. Having all of the data in the root view controller and passing subsets of that
Search WWH ::




Custom Search