我尝试通过单击相应的搜索结果对名为“Detail Student”的子类执行segue。不幸的是,它不起作用。 我无法弄清楚为什么它不起作用。到目前为止,这是我的代码:
if (tableView == self.searchDisplayController.searchResultsTableView)
{student = [self.searchResults objectAtIndex:indexPath.row];
NSString *fullname = [NSString stringWithFormat:@"%@ %@", student.vorname, student.name];
cell.textLabel.text = fullname;
cell.detailTextLabel.text = student.hatBetrGrund.name;
DetailStudent *controller = [self.storyboard instantiateViewControllerWithIdentifier :@"DetailStudent"];
controller.delegate = self;
controller.managedObjectContext = self.managedObjectContext;
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
self.selectedStudent = [self.fetchedResultsController objectAtIndexPath:indexPath];
controller.student = self.selectedStudent;
NSLog(@"Wow");
}
答案 0 :(得分:1)
您的代码中有几件事情不明确:
首先,您要设置文本和详细信息标签的文本。这属于cellForRowAtIndexPath
或其他方法,如configureCell
。但是,从表格视图中进行选择是通过didSelectRowAtIndexPath
捕获的。确保使用一种方法配置单元格,并对另一种方法中的选择做出反应。
其次,您正在实例化视图控制器但不显示它。你可以
presentViewController:animated:
或performSegueWithIdentifier
即可。您可以在prepareForSegue
。