2017-06-16 49 views
0

你好,我一直在研究正確的方式來實現這一點,我發現多篇文章,但不是實現這個最好的正確方法。比方說,我有一個變量測試,這是一個可選的,我想添加一些getter和setter。我的問題是變量將在視圖加載時爲零,但我一直在get函數中發現錯誤:EXEC_BAD_ACCESS。我知道我爲什麼得到這個的原因,但是這個系統不允許我自己添加一個setter,有什麼想法來處理這個問題?感謝您的幫助可選和設置

代碼:

var test: String? { 
    get { 
    return self.test 
    } 
    set { 
     //some logic 
     test = logic response 
    } 
} 


override func viewdidload(){ 
    super.viewdidload() 
    //some logic 
    test = newValue 
} 

回答

3

你的代碼中有許多語法錯誤:)

然而,你是不是在找一個getter &二傳手,你想要什麼willSet觀察者。

class Controller: UIViewController { 

    var test: String? { 
     willSet { 
      // custom logic 
      self.test = newValue 
     } 

    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     test = "my value" 
    } 
} 
+1

@appzYouLife非常感謝你,這正是我所需要的!我很抱歉,我正在寫這個例子,哈哈再次感謝你! – paul590