Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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 如何在swift中使用视图控制器创建表视图_Ios_Xcode_Swift_Tableview - Fatal编程技术网

Ios 如何在swift中使用视图控制器创建表视图

Ios 如何在swift中使用视图控制器创建表视图,ios,xcode,swift,tableview,Ios,Xcode,Swift,Tableview,我可以制作一个带有表视图的应用程序,但我需要单元格来重定向到youtube视频。当我按下一个单元格时,我想让它显示youtube视频或将我发送到另一个视图控制器。请帮帮我 class ViewController: UITableViewController { var tricks = [Trick]() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup afte

我可以制作一个带有表视图的应用程序,但我需要单元格来重定向到youtube视频。当我按下一个单元格时,我想让它显示youtube视频或将我发送到另一个视图控制器。请帮帮我

 class ViewController: UITableViewController {


var tricks = [Trick]()



override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    self.tricks = [Trick(name: "Ollie" ), Trick(name: "Kickflip"), Trick(name: "Heelflip"), Trick(name: "Varial Kickflip"), Trick(name: "Varial Heelflip"), Trick(name: "TreeFlip")]




}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) ->Int {

    return self.tricks.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)as! UITableViewCell

    var trick : Trick

    trick = tricks[indexPath.row]

    cell.textLabel?.text = trick.name

    return cell

}

}

尝试实现did select单元格的委托方法

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)

    let trick = tricks[indexPath.row]
    //Now you have you selected trick so push in a your video playing view controller with the url from your trick object

}
这是一个关于在你的应用程序中播放YouTube视频的线程 我想这对你有帮助

func selectRow() -> Tricks? {
    let selectedRow = self.tableView.selectedRow;
    if selectedRow > 0 && selectedRow < self.tricks.count {
        selectedRow.description
        return self.tricks[selectedRow]
    }
    return nil
}

extension MasterViewController: NSTableViewDelegate {
    func tableViewSelectionDidChange(notification: NSNotification) {
        updateDetailInfo(selectedRow())
    }
}
func selectRow()->技巧?{
让selectedRow=self.tableView.selectedRow;
如果selectedRow>0&&selectedRow
我想您应该制作另一个包含web视图的视图控制器。然后,每当您在表中选择一个单元格时,请转到该单元格并传递一个字符串,如视频的URL

var tricks = ["Ollie", "Kickflip", "Heelflip", "Varial Kickflip", "Varial Heelflip"]
var selectedRow = 0


//SELECT THE ROW  & Call THE SEGUE
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
  tableView.deselectRowAtIndexPath(indexPath, animated: true)

  selectedRow = indexPath.row
  self.performSegueWithIdentifier("myVideoSegue", sender: self)

}

//PASS THE DATE TO THE NEXT VIEW CONTROLLER
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  if (segue.identifier == "myVideoSegue") {

    let nextVC = segue.destinationViewController as ViewController;
    nextVC.passedTrickName = tricks[selectedRow]
  }
}
另见:

另外,将情节提要上的序列从一个视图控制器连接到下一个视图控制器。如果从TableView连接,则在设置要传递的数据之前,它将继续。这就是为什么您需要使用“performsguewithidentifier”以编程方式调用segue。