如何使每个单元格打开其索引路径的特定视图。 在tableview中,didselect我应该怎么做才能使每个单元格都打开为自己的索引路径,以便每个单元格在下一个视图中具有不同的数据
当我在tableview的单元格中单击时,我是tryin,下一个视图以自己的数据呈现自己,因为下一个视图包含uitextview(如注释应用程序中一样)
我应该在didselect行上应用什么
if(!IsPostBack)
{
LoadDropDownBox();
foreach (var item in aDbOperations.GetUserWithId(id)) //Passing query string here to match the id of the editing details
{
ListItem selectedListItem = ddlUserRole.Items.FindByValue(item.roleId.ToString());
if (selectedListItem != null)
{
selectedListItem.Selected = true;
}
}
}
下一堂课应该出现
// MARK: -TableFunctions
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return SavingTasks.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let newtask = self.SavingTasks[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
cell.TheLabel?.text = newtask
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if(editingStyle == .delete)
{
self.SavingTasks.remove(at: indexPath.row)
self.TasksTable.deleteRows(at: [indexPath], with: .fade)
GetData()
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let NewIndex = self.SavingTasks[indexPath.row]
let view = self.storyboard?.instantiateViewController(withIdentifier: "TaskDetail") as! TaskDetail
view.SavingDetails = [NewIndex]
view.Index = indexPath.row
self.navigationController?.pushViewController(view, animated: true)
}
答案 0 :(得分:1)
与实例化视图控制器并通过代码将其弹出相比,您可以使用segue和prepare(for:sender:)
更轻松地准备好下一个视图控制器。官方文档here和Apple here的示例应用程序
一个实现示例:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "mysegue"{
if let nextViewController = segue.destination as? NextViewController{
nextViewController.Index = 2
}
}
}
官方文档中的要点:
例如,如果segue源自表视图,那么sender参数将标识用户点击的表视图单元格
如果您想坚持执行代码,可以在didSelect中调用view.myvariable = myvalue