I have a table view, which feeds from a SQLite database, and when any of the cells are chosen, it goes to a detail view, using the navigation controller. I have it set up, so that when it switches, it sends the object that I created to store the detail view's text. However, after I go to the detail view of one of the objects, and go back and choose another, it displays the same text as the previous one I'd chosen. I can't seem to figure out why. Here is the code I am using for the didSelectRowAtIndexPath: of the first TableView:

Code:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
	CarbCounter4AppDelegate *appDelegate = (CarbCounter4AppDelegate *)[[UIApplication sharedApplication] delegate];
	Food *food = [appDelegate.foods objectAtIndex:indexPath.row];
	
	if(self.detailView == nil) {
		DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
		self.detailView = viewController;
		[viewController release];
	}
	
	[self.navigationController pushViewController:self.detailView animated:YES];
	self.detailView.food = [appDelegate.foods objectAtIndex:indexPath.row];
	self.detailView.title = food.foodName;
}
And the code for cellForRowAtIndexPath: from the detail view:

Code:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    if(indexPath.section == 0) {
		LabelCell *cell = (LabelCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
		if(cell == nil) {
			cell = [[[LabelCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
		}
		NSString *regular = [NSString stringWithFormat:@"%i %@", food.servingSize, food.servingType];
		cell.boldText.text = (indexPath.row == 0) ? [NSString stringWithString:@"Serving Size"]: [NSString stringWithString:@"Number of Carbs"];
		cell.regularText.text = (indexPath.row == 0) ? regular: [NSString stringWithFormat:@"%i", food.carbNumber];
		return cell;
	}
	else
	{
		UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
		if (cell == nil) {
			cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
		}

		return cell;
	}
	[food release];
}
Thanks in advance for anyone who can help!