【发布时间】:2019-09-11 12:14:22
【问题描述】:
我是iOS Programming 的新手,遇到了这个问题。假设我有这两个功能:
class BaseViewController: UIViewController, ErrorMessageDelegate {
var uiView = UIView();
var viewErrorMessage:ErrorMessage!
func refresh(_sender: AnyObject) {
print("testing")
}
func getErrorMessage(message:String) {
super.viewDidLoad()
Dialog.dismiss()
ErrorMessage.message = message
viewErrorMessage = Bundle.main.loadNibNamed("ErrorMessage", owner: self, options: nil)?.first as! ErrorMessage
viewErrorMessage.delegate = self
self.view.addSubview(viewErrorMessage)
func removeSubView() {
viewErrorMessage.removeFromSuperview()
}
}
}
我想在函数 refresh 中调用函数 removeSubView。我必须这样做,因为我需要将 refresh 函数覆盖到我的子类。我需要将函数 removeSubView 放在 getErrorMessage 中,因为我应该这样做。有谁知道这是怎么做到的吗?
【问题讨论】:
-
你试过在
getErrorMessage方法外写方法吗? -
这不仅仅是 Swift。这是因为您无权访问其他范围。我建议将
removeSubView()移动到BaseViewController()内的可访问范围内,您可以将其设为私有以防止其他人调用它。