Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从静态单元格到动态TableViewController的分段_Ios_Swift_Uitableview_Uiviewcontroller_Segue - Fatal编程技术网

Ios 从静态单元格到动态TableViewController的分段

Ios 从静态单元格到动态TableViewController的分段,ios,swift,uitableview,uiviewcontroller,segue,Ios,Swift,Uitableview,Uiviewcontroller,Segue,我有一个TableViewController,在组中有静态单元格。我想从一些静态单元格中执行segue,但也知道是哪个单元格触发了segued TableViewController中的segue 我用ctrl+从每个单元格拖动到目标TVC,添加了序列标识符,并为TVC创建了一个类 我喜欢这种方法,但segue不起作用。它也不打印XOX class MainTableViewController { viewDidLoad() { tableView.delegate = se

我有一个TableViewController,在组中有静态单元格。我想从一些静态单元格中执行segue,但也知道是哪个单元格触发了segued TableViewController中的segue

我用ctrl+从每个单元格拖动到目标TVC,添加了序列标识符,并为TVC创建了一个类

我喜欢这种方法,但segue不起作用。它也不打印
XOX

class MainTableViewController {

  viewDidLoad() {
     tableView.delegate = self
     tableView.dataSource = self
  }

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
      print("XOX")
      if segue.identifier == "MainToA" {        
        if let destination = segue.destinationViewController as? DetailTableViewController {
                destination.page = "A"
        }
      }

     if segue.identifier == "MainToB" {        
       if let destination = segue.destinationViewController as? DetailTableViewController {
               destination.page = "B"
       }
     }
  }


我是遗漏了什么还是完全偏离了轨道?为什么segue不工作?

我尝试了,并且segue在连接到单个UITableViewCell时工作正常

您可以在图像中看到触发的序列部分

请确保已从单元连接segue,而不是其中的任何子视图

编辑

从聊天中,您似乎看到了一个
uitappostation
,它占据了视图的触感。
为了避免这种情况,我建议移除apsignature并使用tableView
didSelectRow
方法来检测视图上的触摸

我尝试过,并且连接到单个UITableViewCell时,segues工作正常

您可以在图像中看到触发的序列部分

请确保已从单元连接segue,而不是其中的任何子视图

编辑

从聊天中,您似乎看到了一个
uitappostation
,它占据了视图的触感。
为了避免这种情况,我建议删除apsignature并使用tableView
didSelectRow
方法来检测视图上的触摸

您是否将UITableViewController子类化了?您是否在Interface Builder中指定了该子类?是否确保未实现override func
numberOfSectionsInTableView(tableView:UITableView)->Int
这样你的静态细胞就出现了


按住ctrl键并拖动时,是否通过选择而不是附件操作链接触发的序列?

是否将UITableViewController子类化?您是否在Interface Builder中指定了该子类?是否确保未实现override func
numberOfSectionsInTableView(tableView:UITableView)->Int
这样你的静态细胞就出现了

按住ctrl键并拖动时,是否通过选择而不是附件操作链接触发的序列?

尝试在表视图静态内容中启用选择属性

属性检查器,如图所示。

尝试在表视图静态内容中启用Selection属性


属性检查器,如图所示。

对我来说也完全一样。我把segue给了手机,并给segue添加了一个标识符。当我点击segue时,单元格会高亮显示,并且选择内容与您的屏幕截图相同。你在MainVC中添加了什么吗?我的怎么了?试着来聊天吧,我也一样。我把segue给了手机,并给segue添加了一个标识符。当我点击segue时,单元格会高亮显示,并且选择内容与您的屏幕截图相同。你在MainVC中添加了什么吗?我的有什么问题?试着来聊天你说的子类化是什么意思?我不在TableView中使用
numberofSections
,我的静态单元格会出现。当我按住ctrl键并拖动时,它是选择,当我单击单元格时,在“连接检查器”下,它是选择。另外,我给了segue的标识符。。还有什么问题?MainTableViewController类必须为UITableViewController子类。因此,类定义应该类似于“类MainTableViewController::UITableViewController”{'完成此操作后,您需要在interface builder中单击UITableViewController对象,并将其类从UITableViewController更改为MainTableViewController。您需要阅读cocoa子类。是的,我这样做了。表视图工作正常。单元格已填充,并从ViewController获取/修改数据。这是只是segue不工作子类化是什么意思?我不使用
numberOfSectionsInTableView
,我的静态单元格会出现。当我按住ctrl键并拖动时,它是选择,当我单击单元格时,在连接检查器下它是选择。另外,我给了segue标识符。还有什么问题?你的类MainTableView控制器必须子类UITableViewController。因此,类定义应类似于“类MainTableViewController::UITableViewController”{'完成此操作后,您需要在interface builder中单击UITableViewController对象,并将其类从UITableViewController更改为MainTableViewController。您需要阅读cocoa子类。是的,我这样做了。表视图工作正常。单元格已填充,并从ViewController获取/修改数据。这是只是这段路不通
class DetailTableViewController {

    var page = String()

    viewDidLoad() {
         print(page)
    }
}