我想从masterTableViewController.swift文件在masterTableViewController和dataTableViewController之间建立连接。我能够在情节提要中建立连接,但不能迅速建立逻辑。请协助。

下面是我想转换为swift的代码:

- (void)prepareForSegue:(UIStoryBoardSegue *)segue sender:(id)sender {
    if ([segue.identifier isequalToString:@“state”]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        StateTableViewController *destViewController = segue.destinationViewController;
        destViewController.countryname = [countries objectAtIndex:indexPath.row];
        destViewController.title = destViewController.countryname;
    }
}


从上面我希望从roottableviewcontroller获取国家名称,然后根据国家名称,我希望访问在StateTableViewController中为该国家放入数组中的状态。但无法实现。

最佳答案

这是您的Objective-C代码的等效Swift代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "state" {
        // indexPathForSelectedRow() returns an optional indexPath.  Here I use
        // optional binding to unwrap it
        if let indexPath = self.tableView.indexPathForSelectedRow() {
            let destViewController = segue.destinationViewController as StateTableViewController
            destViewController.countryname = countries[indexPath.row]
            destViewController.title = destViewController.countryname
        }
    }
}

07-25 21:15