Search 单击搜索结果后执行Segue
我试图通过单击相应的搜索结果来执行一个名为“detailstudent”的子类。不幸的是,它不起作用。 我不明白为什么它不起作用。以下是我目前的代码:Search 单击搜索结果后执行Segue,search,core-data,detailsview,Search,Core Data,Detailsview,我试图通过单击相应的搜索结果来执行一个名为“detailstudent”的子类。不幸的是,它不起作用。 我不明白为什么它不起作用。以下是我目前的代码: if (tableView == self.searchDisplayController.searchResultsTableView) {student = [self.searchResults objectAtIndex:indexPath.row]; NSString *fullname = [NSString stringWithFo
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");
}
代码中有几点不清楚: 首先,您要设置文字和详图标签的文字。这属于
cellforrowatinexpath
或其他一些方法,如configureCell
。但是,通过didSelectRowAtIndexPath
捕获从表视图中进行选择。确保在一种方法中配置单元格,并在另一种方法中对选择作出反应
其次,您正在实例化视图控制器,但没有显示它。你也可以
- 实例化视图控制器并通过
或presentViewController:animated:
- 通过序列图像板中的序列链接局部视图控制器。在这种情况下,您不需要实例化它,只需调用
。您可以在performsguewithidentifier
中配置详细信息视图prepareforsgue
否则([segue.identifier isEqualToString:@“详细学生序列”){DetailStudent*DetailStudent=segue.destinationViewController;DetailStudent.delegate=self;DetailStudent.managedObjectContext=self.managedObjectContext;NSIndexPath*indexPath=[self.tableView indexPathForSelectedRow];self.selectedStudent=[self.fetchedResultsController对象索引路径:indexPath];detailStudent.student=self.selectedStudent;}
现在它成功了!我清理了我的项目,它与PerformsgueWithIdentifier一起工作。干杯m8!我真的很想对你的评论投赞成票,但恐怕我没有足够的代表,这是我的第一篇文章,28天前刚刚开户,但我会尽快这么做