2016-07-29 68 views
0

我在啓動時出現UISwitch的狀態問題。爲什麼我的switch總是處於on狀態?檢查UISwitch狀態viewDidLoad

@IBOutlet weak var switch: UISwitch! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let sw = switch { 
     if sw.on { 
      print("on") 
     } else { 
      print("off") 
     } 
    } 
} 
+0

你把它在你的故事板? –

+0

爲什麼你讓一個部隊解包可選? –

+0

@AndréMuniz你在故事板中設置了什麼?其在故事板中的狀態爲ON。 – Done

回答

1

該開關將是您在故事板/界面構建器中設置的任何內容。如果您在故事板中將其設置爲開啓,它將始終在應用第一次加載時開啓,反之亦然,將其設置爲關閉。

如果你想它時,您的視圖首次加載(編程),不管什麼在故事板設置的,使用switch.on = false

如果您希望在應用程序被關閉,以節省交換機的狀態設置爲關閉,你應該看看NSUserDefaults的使用(here

這裏是故事板設置的狀態截圖:

enter image description here

+0

我正在做一些實驗,發現如果你把viewWillAppear它會正常工作,因爲我想。不知道爲什麼... – Done