2016-09-14 3 views
0

최신 Xcode 버전 8.0 (8A218a) 및 Swift 3.0을 사용하고 있습니다.하나의 함수에서 변수 nil

올바르게 할당되어 사용되는 UIScrollview (m_scrollView)로 작업하고 있습니다. callbackForceUpdateEvent가 호출

, m_scrollView는 OK이지만 showEvents를 호출 할 때 직후, 나는 오류가 있어요 : 해당 설명 (A)를 인쇄 할 때 fatal error: unexpectedly found nil while unwrapping an Optional value을. 하위 뷰 (B)에 액세스하려고하면이 오류가 발생합니다. 하지만, 그것에 하위 뷰를 추가 할 수 있으며 (C), 올바르게 표시됩니다. 설명 만 인쇄하거나 하위보기에 액세스하는 데 실패했습니다.

override func callbackForceUpdateEvent(_ event: Event) { 

     print (self.m_scrollView) // works fine 

     self.showEvents() 
    } 

func showEvents() { 
    /*(A)*/ print (self.m_scrollview) // fatal error: unexpectedly found nil while unwrapping an Optional value 

    /*(B)*/ for view in m_scrollview.subviews { // fatal error: unexpectedly found nil while unwrapping an Optional value 
    } 

    /*(C)*/ m_scrollView.addSubview(v) // works fine !!! 
} 

2 일이 지나면 나에게 미치게됩니다.

답변

0

내 변수의 이름을 바꾸려고 시도 했으므로 이제는 정상적으로 작동합니다. 그리고 실수를 이해했습니다. 변수 m_scrollview도 수퍼 클래스에서 선언되었습니다.

스위프트 컴파일러가 왜 그런 말을하는지 모르겠습니다. 하지만 변수의 이름을 변경 한 후 Swift가 나에게 말했습니다 ...

문제가 해결되었습니다!

관련 문제