每个单元打开视图

时间:2018-11-30 17:51:37

标签: ios swift uitableview

如何使每个单元格打开其索引路径的特定视图。 在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)
}

1 个答案:

答案 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