答案 0 :(得分:2)
您必须使用一个名为NSNotificationCenter的单例类
在ViewController类
中调用presentViewController方法之前添加此语句NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.funcToBeExecuted(_:)), name:String, object: nil)
在Sheet类
中的dismissViewController之前添加此语句NSNotificationCenter.defaultCenter().postNotificationName(String, object: AnyObject?, userInfo: [NSObject : AnyObject]?))
从技术上讲,这就是它的工作原理。您可以在应用程序中设置一个等待应用程序发布的观察者,以执行#selector方法。当应用程序执行postNotification语句时,内存中具有与postNotification相同NotificationName的所有观察者都会被触发并实现其分配的#selectors。
参数中postNotificationName中的userInfo有助于将数据从一个地方传递到另一个地方,甚至传递给同名的多个观察者。因此,在NSNotification选择器要执行的方法中,我们可以访问userInfo,如下所述。
func funcToBeExecuted(notification: NSNotification)
{
let receivedData = notification.userInfo
}
这应该适合你。