2016-07-16 4 views
1

Мой код:Как удалить эту ошибку доступа EXC_BAD?

override func viewDidLoad() 
{ 
    super.viewDidLoad() 
    imagePicker.delegate = self 
    myScrollView.delegate = self 
    myScrollView.subviews.forEach({ $0.removeFromSuperview() }) 

    for i in 1...2 
    { 
     myView = UIView(frame:CGRectMake(myView.frame.origin.x,22.0,320,83)) 
     myView.tag = i 
     myScrollView.addSubview(myView) 
     myScrollView.contentSize = CGSizeMake(myScrollView.frame.size.width*2,128.0) 
    } 
} 

Ошибка:

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)

ответ

1
  1. Эта линия, вероятно, не правильно:

    myView = UIView(frame:CGRectMake(myView.frame.origin.x,22.0,320,83)) 
    

    Вы используете myView в той же строке, в которой вы создать экземпляр. Если вы исследуете myView до того, как эта линия вызывается, это, скорее всего, nil.

  2. Скорее всего myScrollView или imagePicker является неявно обернута опциональный @IBOutlet что nil. Изучите эти значения перед их использованием (либо вставив инструкцию print, либо добавив точку останова, а затем исследуя значения в отладчике). Посмотрите, есть ли один из них: nil.

    С точки зрения того, почему это может быть nil, две наиболее распространенные проблемы:

    • Выход может быть nil, если пренебречь зацепить @IBOutlet в Interface Builder. Это можно подтвердить, проверив выходы для прокрутки в IB. Она также может быть быстро подтверждено, видя, если разъем на выходе в левом поле рядом с выпускным отверстием

      Connected:

      enter image description here

      Не подключен:

      enter image description here

      или

    • Вы также можете иметь выходы nil, если tra пренебрегая этой сценой программно, но делая это неправильно (т. создание этой сцены из класса, а не из раскадровки).

+0

Я проверил розетка подключена – nandinibm

+0

Нет розетка не подключена, и я получаю ошибку на этой линии --- myView.tag = я – nandinibm

+0

ОК, так что вы хотите сказать, что выход подключен в IB, но в 'viewDidLoad' выход, кажется,' nil'? Если это так, проблема может заключаться в том, как вы создали экземпляр контроллера представления (моя вторая точка). Как вы создавали экземпляр контроллера вида? – Rob

Смежные вопросы