string set to null when pushing detail view
===

I am pushing a detail view from the master of a Master-Detail Application template.
I want to load a single view with different information depending on which row was clicked. I plan to load the data from a plist file.
Here is the code I used in the MasterViewController, when I added `didSelectRowAtIndexPath:`

    DetailViewController *dvc = [[DetailViewController alloc]init];
    dvc.rowItem = [_objects objectAtIndex:indexPath.row];;
    NSLog(@"row is %i", indexPath.row);
    NSLog(@"master %@", dvc.rowItem);

where rowItem is an `NSString` belonging to the `DetailViewController`. Inside the `viewDidLoad` of the `DetailViewController` I put:

     [super viewDidLoad];
    NSLog(@" thingy %@", rowItem);
    [self setup:rowItem];

and `setup` looks like this:

    -(void) setup: (NSString *)eval {
    
    filePath = [NSString stringWithFormat:@"%@.plist",eval];
    NSLog(@"%@", filePath);
        NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
        
    NSString *subName;
    NSString *yesNo;
    NSString *theseChanges;
    subName = [plistDict objectForKey:@"subContractAddress"];
    yesNo = [plistDict objectForKey:@"yesOrno"];
    theseChanges = [plistDict objectForKey:@"Changes"];
    }

when I build and run I get the console output of:

    thingy (null)
    (null).plist
    row is 0
    master Excavations

when I press the first row, and 

    thingy (null)
    (null).plist
    row is 1
    master Flooring

so somehow, rowItem is getting set to null in the crossover.
Can someone see what I am doing wrong here?