- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CI= @"GenusNameCell";
GenusNameCell *cell = [tableView dequeueReusableCellWithIdentifier:CI];
if (cell == nil) {
cell = [[GenusNameCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"GenusNameCell"];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
}
int row = [indexPath row];
cell.GenusNameLabel.text = [genusName objectAtIndex:indexPath.row];
cell.GenusCommonNameLabel.text = _genusCommonName[row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SpeciesViewController *Species = [[SpeciesViewController alloc] initWithNibName:@"SpeciesViewController" bundle:nil];
if ([[genusName objectAtIndex:indexPath.row] isEqual:@"Abelia"]) {
Species.SpeciesInt = 0;
[Species setTitle:[genusName objectAtIndex:indexPath.row]];
}
}
我有2个表视图要连接,但我不知道这是否是正确的代码。它运行然后我点击它崩溃的单元格。有人能帮助我吗?
答案 0 :(得分:1)
当您选择单元格时,会创建一个新VC,但它永远不会显示。使用
[self.navigationController pushViewController:Species animated:YES];
提出它。
您也可以从第一个VC中的单元格Ctrl键拖动到第二个VC(在Storyboard中)并使用此代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"nameOfYourSegue"]) {
if ([[segue destinationViewController] isKindOfClass:[SpeciesViewController class]]) {
SpeciesViewController *Species = (SpeciesViewController *)[segue destinationViewController];
Species.SpeciesInt = 0;
[Species setTitle:[genusName objectAtIndex:indexPath.row]];
}
}
请记住在故事板中设置segueIdentifier!
答案 1 :(得分:0)
您使用的是故事板还是笔尖?
如果您正在使用storyboard,则需要实现prepareForSegue,而如果您正在使用nib,那么您需要将新视图控制器推送到didSelectRowAtIndexPath中的堆栈。