【发布时间】:2015-07-03 10:50:09
【问题描述】:
我有两个视图控制器,MainVC 和 ModalVC。
当用户点击MainVC 上的按钮时,会出现模态视图控制器。
然后用户可以点击另一个按钮将其关闭并返回到主按钮。
我已经尝试了这两种方法,它们都完成了同样的事情:它们关闭了模态视图控制器:
//method 1:
// File: ModalVC.swift
//
@IBAction func dismissTapped() {
self.dismissViewControllerAnimated(false, completion: nil);
}
正如我所说的那样工作正常,但考虑另一种方法:使用委托让主控制器执行解雇:
// method 2: part A
// File: ModalVC.swift
//
protocol ModalVCDelegate {
func modalVCDismissTapped();
}
...
...
...
var delegat:ModalVCDelegate? = nil;
...
...
@IBAction func dismissTapped() {
delegate.modalVCDismissTapped();
}
在主视图控制器自定义类文件上:
// method 2: part B
// File: MainVC.swift
class MainVC : UIViewController, ModalVCDelegate {
...
...
func modalVCDismissTapped() {
self.dismissViewControllerAnimated(false, completion: nil);
}
}
既然这两种方法都需要,我应该担心任何可能的内存泄漏吗?
任何解释都会有所帮助
【问题讨论】:
标签: ios swift uiviewcontroller