2015-02-04 3 views
-2

이 파일의 이름은 FoodHandler.swift입니다. 레이블 안에 표시하려고하는데 오류가 발생합니다. "치명적인 오류가 발생했습니다 : 언 래핑하는 동안 예기치 않게 nil이 발견되었습니다. 옵션 값 " 이것은 다른 파일의 변수를 사용하는 스위프트

여기 FoodHandler.swift의 내부에 내 코드의 새로운 페이지에에 println()에서 열립니다

import Foundation 
import UIKit 

var FoodType = "" 
class SwitchSegue 
{ 

} 

여기 내 코드는 새로운 뷰 컨트롤러에서의

 @IBOutlet var lblChose: UILabel! 
override func viewDidLoad() { 
    super.viewDidLoad() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

override func viewDidAppear(animated: Bool) { 
    println(FoodType) // Works 
    lblChose.text = FoodType // Throws a nil exception 
} 

이유가 누구인지 아십니까? (나는 println 메소드가 올바른 값을 오른쪽으로 표시하고 이해로까지?)

+3

다시 읽기 오류 메시지가 표시됩니다. 당신이 그것을 이해할 수없는 경우 Google에 그것을 –

답변

2

오류는 약 FoodType 없습니다. FoodType은 선택 사항이 아니기 때문에 말할 수는 있지만 ... lblChose입니다. 그것은 "암시 적으로 래핑되지 않은 선택 사항"이며, 이는 you can read about here입니다. 그것의 선언 후에 !에 의해 표시됩니다.

lblChose 콘센트가 인터페이스에 제대로 연결되어 있는지 확인하십시오.

+0

고마워, 나는 라벨을 다시 추가 했어. – sunguM

-3

다음을 사용하여 시도해야합니다 :

lblChose.text = FoodType! 
+0

작동하지 않습니다, 이미 그것을 시도. '후위의 피연산자!' 선택적 유형을 가져야합니다 '. – sunguM

+3

옵션은 마법이 아닙니다. 당신이하는 일을 모르는 경우 느낌표와 물음표를 던지지 마십시오! (즉,'FoodType'은 선택 사항이 아니기 때문에 이것은 이해가되지 않습니다.) – andyvn22

0

코드를 더 이상 보지 않아도 문제가 레이블이 존재하지 않는다고 가정합니다. 선택 사항으로 선언했으나 스토리 보드의 라벨과 연결되지 않았을 수 있습니다. 일반적으로 스토리 보드에서 연결하면 약합니다.

관련 문제