我在segue上设置委托,但我需要将其设置为现有的?queryString=value
,而不是在这里创建一个新的。
如何访问现有SfnViewController
以传递它?
SfnViewController
答案 0 :(得分:1)
我们无法帮助您,因为您还没有提供足够的信息。你说你有一个现有的SfnViewController。
如果你的整个对象只有一个共享的SfnViewController,你应该考虑遵循单例设计模式并使你的SfnViewController成为单例。然后,您将使用SfnViewController类的类方法来获取对单例的引用。
答案 1 :(得分:0)
如果你的意思是使用一些你可以在tableView:accessoryButtonTappedForRowWithIndexPath:方法中确定的特定控制器,那么你应该在调用performSegueWithIdentifier时在“sender”属性中发送它:
class ViewerListController {
func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
editViewer = fetchedResultController.objectAtIndexPath(indexPath) as? Viewer
performSegueWithIdentifier("editViewer", sender: editViewer)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "editViewer" {
let editViewerViewController = segue.destinationViewController.topViewController as! EditViewerViewController
editViewerViewController.viewer = editViewer
let editViewer = sender as! EditViewerViewController
editViewerViewController.delegate = editViewer.delegate
}
}
}