我有一个ViewController:

class graphicViewController: UIViewController {
    var pathToFile = "" //it's changed in method PrepareForSegue from previous ViewController
}


我有一个观点:

class graphicView: UIView {
   var ltr:String?
   override func drawRect(rect: CGRect) {
      println(ltr!)
   }
}


我应该如何以及在何处实现对pathToFile的访问/传递,以使它在drawRect中不能为null?

最佳答案

由于您是在pathToFile中设置prepareForSegue属性,因此传递该属性值的最佳位置是在graphicViewControllerviewDidLoad函数中:

override func viewDidLoad() {
    if let gView = view as? graphicView {
        gView.ltr = pathToFile
    }
}


旁注:通常,您需要使用大写字母命名您的类型,并使用小写字母命名您的实例。因此,graphicView将是GraphicView,依此类推。

关于ios - 在View及其ViewController之间快速交换变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26492360/

10-09 20:03