我想要TableView
上的组织名称,并找到关于DetailView
的更多信息。但是我不知道错误在哪里,DetailView
找不到我的信息。这里是didSelectRow
代码:TableView ---> DetailView
TableView
:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (section) {
case 0:
return 2;
break;
case 1:
return 2;
break;
case 2:
return 2;
break;
}
return 0;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *sectionHeader = nil; if(section == 0) {
sectionHeader = @"Red Wine";
}
if(section == 1) {
sectionHeader = @"White Wine";
}
if(section == 2) {
sectionHeader = @"Sparkling Wine";
}
return sectionHeader;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
[cell.textLabel setNumberOfLines:3];
}
switch (indexPath.section) {
case 0:
switch (indexPath.row) {
case 0:
cell.textLabel.text = @"Black Wattle Mt Benson Merlot 2008";
cell.detailTextLabel.text = @"Mt Benson, South Australia.";
break;
case 1:
cell.textLabel.text = @"Two Hands Canny Butcher Barossa Valley Shiraz Grenache Mataro 2009";
cell.detailTextLabel.text = @"Barossa Valley, South Australia.";
break;
}
break;
case 1:
switch (indexPath.row) {
case 0:
cell.textLabel.text = @"Amberton Lizard Sauvignon Blanc Semillon 2011";
cell.detailTextLabel.text = @"South Eastern Australia.";
break;
case 1:
cell.textLabel.text = @"Vasse Felix Margaret River Chardonnay Margaret River";
cell.detailTextLabel.text = @"Western Australia.";
break; }
break;
case 2:
switch (indexPath.row) {
case 0:
cell.textLabel.text = @"Janisson Fils Brut Non Vintage Champagne";
cell.detailTextLabel.text = @"Champagne, France.";
break;
case 3:
cell.textLabel.text = @"Francois Montand Brut Blanc De Blancs NV";
cell.detailTextLabel.text = @"Premium French sparkling vineyard areas.";
break;
}
break;
}
return cell;
}
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *ViewController = [[DetailViewController alloc] init];
ViewController.Wine = [indexPath section];
[self.navigationController pushViewController:ViewController animated:YES];
}
DetailView
:
- (void)viewDidLoad{
[super viewDidLoad];
switch (Wine) {
case 0:
switch (Wine) {
case 0:
self.navigationItem.title = @"Black Wattle Mt Benson Merlot 2008";
WineTextView.text = @"Alcohol: 14.5%\n"
"\n"
"Foods: Pan grilled fillet mignon with buttered mushrooms and silky mashed potatoes.\n";
break;
case 1:
self.navigationItem.title = @"Two Hands Canny Butcher Barossa Valley Shiraz Grenache Mataro 2009";
WineTextView.text = @"Alcohol: 14.2%\n"
"\n"
"Foods: Enjoy with beef stew and winter vegetables.\n";
break;
default:
break;
}
break;
case 1:
switch (Wine) {
case 0:
self.navigationItem.title = @"Amberton Lizard Sauvignon Blanc Semillon 2011";
WineTextView.text = @"Alcohol: 14.5%\n"
"\n"
"Foods: Pan grilled fillet mignon with buttered mushrooms and silky mashed potatoes.\n";
break;
case 1:
self.navigationItem.title = @"Vasse Felix Margaret River Chardonnay Margaret River";
WineTextView.text = @"Alcohol: 12%\n"
"\n"
"Foods: Enjoy with Chinese roast duck salad.\n";
break;
default:
break;
}
break;
case 2:
switch (Wine) {
case 0:
self.navigationItem.title = @"Janisson Fils Brut Non Vintage Champagne";
WineTextView.text = @"Alcohol: 12%\n"
"\n"
"Foods: Ideal aperitif style, to accompany canapés and hors doeuvres.\n";
break;
case 1:
self.navigationItem.title = @"Francois Montand Brut Blanc De Blancs NV";
WineTextView.text = @"Alcohol: 12%\n"
"\n"
"Foods: Apéritif, fish, and creamy dishes..\n";
break;
default:
break;
}
default:
break;
}
写两个相同的嵌套'switch'块(在viewDidLoad中)是什么原因?这段代码的一半永远不会被调用。 – beryllium
为什么会发生?看起来你有内存泄漏(你分配一个'DetailViewController',但从来没有'释放它)。 – trojanfoe