上發生意外發現零而意外發現零,同時展開可選項我有一個sourceViewController正在訪問destinationViewController中的UISegmentedControl
。 EventType
是定義爲一個枚舉:在UISegmentedControl setTitle方法
enum EventType: Int {
case Rashifal, RashiGyan
}
segmentedControl對destinationViewController標題應根據segmentedControl對sourceViewController值的變化而變化。
只要在sourceViewController中點擊segmentedControl,就會看到已更改的值,因爲我已在控制檯中打印。現在,我想根據之前在我的sourceViewController中選擇的segmentedControl
值在destinationViewController中更改segmentedControl
的內容。
的segmentedControl
在destinationViewController價值工程在第一次運行很好,符合市場預期,但是當我瀏覽到我的sourceViewController和改變segmentedControl並導航到destinationViewController,有一個與在控制檯消息Fatal error: unexpectedly found nil while unwrapping an Optional value
崩潰。
下面是我已經嘗試從sourceViewController更改destinationViewController中的segmentedControl的值。
@IBAction func segmentedControlValueChanaged(_ sender: UISegmentedControl) {
let eventType = EventType(rawValue: sender.selectedSegmentIndex)!
let anotherVC = UIStoryboard(name: "Rashifal", bundle: nil).instantiateViewController(withIdentifier: "RashiDetailVC") as? RashiDetailVC
switch eventType {
case .Rashifal:
print("at Rashifal")
anotherVC?.segmentedControl.setTitle("दैनिक", forSegmentAt: 0)
anotherVC?.segmentedControl.setTitle("साप्ताहिक", forSegmentAt: 1)
anotherVC?.segmentedControl.setTitle("मासिक", forSegmentAt: 2)
anotherVC?.segmentedControl.setTitle("वार्षिक", forSegmentAt: 3)
case .RashiGyan:
print("At RashiGyan")
anotherVC?.segmentedControl.setTitle("विशेषता", forSegmentAt: 0)
anotherVC?.segmentedControl.setTitle("शुभ/अशुभ", forSegmentAt: 1)
anotherVC?.segmentedControl.setTitle("प्रेम", forSegmentAt: 2)
anotherVC?.segmentedControl.setTitle("जीवन", forSegmentAt: 3)
}
}
什麼可能會出錯?
您是否在故事板中呈現了RashiDetailVC與segue? – Sweeper
這是一個好故事的故事板segue。 – amagain
這是因爲你剛剛拿到了控制器對象,它的屬性還沒有初始化,當viewDidload或viewwillappear方法會調用時,它們將被初始化!這就是爲什麼segmentedControl對象爲零 要刪除它,爲什麼不在控制器viewDidload或viewwilla控制器的方法上設置這些段控制值。 –