Swift 에러 대응

swift ERROR : Fatal error : Unexpectedly found nil while unwrapping an Optional value 에러 대응하기

YagSill 2022. 4. 27. 17:14
728x90

안녕하세요 YagSill 입니다.

 

오늘은

 Fatal error : Unexpectedly found nil while unwrapping an Optional value

위 에러에 대해서 대응을 한번 해보겠습니다.

 

일단 위 에러가 발생되는 이유는 View가 로드될 때 nil을 발견했다는 뜻입니다.

 

정확히 말하자면

clasee FirstViewController : UIViewController {

    override func viewDidLoad() {
            super.viewDidLoad()

	dataMove()
            
        }
    
    func dataMove() {
    
    	let sb = UIStoryboard(name : "스토리보드이름", bundle : nil)
	let vc = let vc = sb.instantiateViewController(withIdentifier: "스토리보드의 identity") as! 뷰컨트롤러 이름 ex) firstViewController
    
    	vc.textLabel.text = "메롱메롱입니다" // Fatal error : Unexpectedly found nil while unwrapping an Optional value
   	// ㅠㅠㅠㅠ
    }
}
clasee SecondViewController : UIViewController {
    
    override func viewDidLoad() {
            super.viewDidLoad()

     }
       
    override func viewWillAppear(_ animated: Bool) {
        
        let textLabel = UILabel()
        
    }

}

 

FirstViewContoller의 함수로 SecondViewController의 textLabel 값을 할당해 주려고 할 때

이때는 textLabel의 값이 초기화가 되어있지 않아서 어디서 어떤 데이터를 넣든 넣어줄 수가 없습니다.

 

그렇기 때문에 우리는 해당 값을 초기화 시켜주어야 합니다!

 

쉽게 설명을 드리자면 현재는 FirstViewCotroller만 활성화가 되어있는 상태입니다.

FirstViewController에서 SecondViewController의 Label을 건드렸을 때 Label이 viewDidLoad()되기 이전이기 때문에 값을 할당할 수 없습니다!!!!!

 

다시 말하자면 viewDidLoad()가 되기 이전에 값을 할당해 주려고 할 때 생기는 ERROR 입니다~~

 

728x90