2017-05-16 4 views
-1

나는 UIAlert 팝업을 만들려고 노력하고있다. 그러나 코드가 그 일을해야하는 함수를 호출 할 때마다 프로세스에서 완전히 무관 한 값은 값을 가질 것으로 예상 될 때 nil을 리턴했다는 오류를 발생시킨다. 문제를 해결했지만 솔루션이 왜 효과가 있는지 알 수 없습니다.UIAlert로 인해 다른 변수 중 하나가 0이되는 이유는 무엇입니까?

원본 :

var fullFreqHeard: [Double] = [] 

@IBOutlet weak var fullFreqLabel: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    fullFreqLabel.text = "\(fullFreqHeard)" 
} 

용액 : 용액에서 I가 사용되는 반면

var fullFreqHeard: [Double] = [] 

@IBOutlet weak var fullFreqLabel: UILabel? 

override func viewDidLoad() { 
    super.viewDidLoad() 
    fullFreqLabel?.text = "\(fullFreqHeard)" 
} 

차이가 원래 I 력에이 라벨을 래핑 '?'. 여기서 무슨 일이 일어나고있는거야? 나는 그것이 경고와 관련이 있을지 궁금해했다.

+0

실제로 라벨을 보았습니까? 올바르게 연결되지 않을 수도 있습니다. –

+0

그래요. 라벨이 보이네요. –

답변

0

경고와 관련이 없다고 생각합니다. force unwrapping이 오류를 수정하는 이유는 fullFreqLabel이 처음에는 nil이기 때문입니다. 값을 설정하기 전에 초기화해야합니다. 예를 들어, var fullFreqLabel = UILabel(frame: CGRect.zero)

+0

스토리 보드를 사용했고 그 라벨을 스토리 보드에 넣었습니다. 그것을 없애지 않을까요? –