У меня была эта проблема со мной вчера. Я имел дело с частью производственного кода, который был сбой в определенный момент с этой аварией ИнформациейОпционально неожиданно найдена информация о ноль и авариях
0 Goga 0x00000001000b90b8 function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Owned To Guaranteed> of Goga.NewViewController.emailButtonPressed (Goga.NewViewController)(ObjectiveC.UIButton) ->() (NewViewController.swift:0)
1 Goga 0x00000001000c0488 Goga.NewViewController.(emailButtonPressed (Goga.NewViewController) -> (ObjectiveC.UIButton) ->()).(closure #2) (NewViewController.swift:872)
2 Goga 0x00000001000bd250 partial apply forwarder for reabstraction thunk helper from @callee_owned (@in ObjectiveC.UIAlertAction!) -> (@out()) to @callee_owned (@owned ObjectiveC.UIAlertAction!) -> (@unowned()) (NewViewController.swift:0)
Однако, когда я нашел ошибку, после нескольких часов, пытаясь повторить вопрос, либо сообщение об ошибке для него не могло в журнале сбоев. Ошибка показывала в XCode вместо как:
неожиданно нашел ноль в то время как разворачивание необязательного значения
Моего вопроса, как поймать ноль необязательных ошибок в рабочем коде?
Edit:
Просто, чтобы добавить немного больше точки зрения исходной задачи, я нашел этот вопрос в этом примере кода:
let cell = tableView.cellForRowAtIndexPath(indexPath)
cell.textLabel.text = "Hello" // CRASH if the cell is not visible in the view
Я должен был сделать это вместо:
if let cell = tableView.cellForRowAtIndexPath(indexPath) {
cell.textLabel.text = "Hello" // Never get executed if cell is nil
}
поделиться своим кодом –
@JayGajjar Вопрос не ищет конкретного решения, а скорее как «поймать» ошибку. – nhgrif
Отлаживайте свой код и найдите на самом деле, на какой строке ваш код разбился! Возможно, вы забыли инициализировать любую вашу переменную. –