저는 Swift를 사용하여 iOS 앱을 개발하고 있으며 셀 행을 선택하거나 셀 행의 내용보기 내부에있는 버튼을 선택하여 표보기 셀 내용보기에서 선을 긋는보기 컨트롤러가 있습니다. 테이블 뷰가 포함 된 원래보기 컨트롤러는 두 가지 경우에 세그먼트를 수행합니다. 셀 행 자체가 선택되면 (예 : avplayerviewcontroller에 연결되고 선택한 셀 행에 따라 비디오가 재생 됨) 두 번째 섹스가 발생합니다. 당신은 테이블 뷰 셀의 내용보기 내부에있는 버튼을 누릅니다. 첫 번째 segue에서 나는 첫 번째 segue를 덮어 쓸 때 if let indexPath = self.tableview.indexPathForSelectedRow
으로 선택된 셀 행을 전달할 수 있습니다. 그러나 내가 선택한 셀 행을 전달하려고하면 버튼을 눌렀을 때 발생하는 두 번째 섹스를 무시하려고 할 때 작동하지 않습니다. 이것은 테이블 뷰 셀의 내부 버튼이 선택되어있는 행을 알지 못하기 때문입니다. 그렇다면이 문제를 어떻게 해결할 수 있습니까? 그렇다면 해결 방법은 무엇입니까? 알림 : 셀 행을 선택하면 'playDrill'세그먼트가 생성되고 동일한 셀 행의 콘텐츠보기에서 버튼을 선택하면 '팁'세그먼트가 생성됩니다.segue에서 선택된 테이블 뷰 셀 행을 얻는 방법?
코드를 선택하면 첫 번째 섹터 코드가 생성됩니다. 세포 행 (원하는대로이 SEGUE 기능) : 두 번째 SEGUE에 대한
class DrillsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "playDrill" {
if let indexPath = self.tableView.indexPathForSelectedRow {
if initialRow == 1 {
drillVid = videoURL[indexPath.row]
playerViewController = segue.destination as! PlayerController
playerViewController.player = AVPlayer(playerItem: AVPlayerItem(url: drillVid))
playerViewController.player?.play()
print(indexPath) //prints correct value which is "[0,6]"
}
if initialRow == 3 {
drillVid = videoUrl[indexPath.row]
playerViewController = segue.destination as! PlayerController
playerViewController.player = AVPlayer(playerItem: AVPlayerItem(url: drillVid))
playerViewController.player?.play()
}
코드는 셀의 내용보기의 내부에 버튼을 선택하면 트리거 (내가 처음 SEGUE 같이 indexPath
의 값이이 SEGUE을 원하는 하지만 해당 코드를 사용하려고하면 올바른 값을 반환하지 않습니다.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Tips" {
if let indexPath = self.tableview.indexPathForSelectedRow {
if initialRow == 1 {
print(indexPath) //the value printed is "6", I want "[0,6]" like the first code block
let tipVC = segue.destination as! KeysController
}
}
}
}
prepare(for segue:)
내가 너무 당신이 당신의 질문이되어야합니다보다 훨씬 더 복잡한 것 같다 만들어를 작성하여 생각합니다. 버튼의 IBAction에 대한 코드는 어디에 있습니까? – Shades