我正在为代理设置一个代理,但是我需要将其设置为现有的SfnViewController
,而不是在这里正在创建新代理的地方。
如何访问现有的SfnViewController
以使其通过?
class ViewerListController {
func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
editViewer = fetchedResultController.objectAtIndexPath(indexPath) as? Viewer
performSegueWithIdentifier("editViewer", sender: indexPath)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "editViewer" {
let editViewerViewController = segue.destinationViewController.topViewController as! EditViewerViewController
editViewerViewController.viewer = editViewer
//Need this as the existing SfnViewController
editViewerViewController.delegate = SfnViewController()
}
}
}
最佳答案
我们无法真正为您提供帮助,因为您没有提供足够的信息。您说您已有一个SfnViewController。
该对象何时何地创建的?
谁拥有它?
您的ViewListController是否有引用?
如果您只有一个共享的SfnViewController用于整个对象,则应考虑遵循单例设计模式,并使SfnViewController为单例。然后,您将使用SfnViewController类的类方法来获取对单例的引用。
关于ios - 将代理设置为现有 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29970058/