Establezca la image de UIButton en Swift: actualmente se desenvuelve como cero

Me está costando establecer una image de un button UIB. He revisado otras publicaciones sobre cómo hacer esto, y parece bastante sencillo (pero luego, aquí estoy).

En mi progtwig, la image que muestra el button depende de trip.weather. Estoy usando un interruptor para configurar la image antes de intentar configurar la image del button. Sin embargo, mientras se depura, la console muestra lo siguiente:

'2015-05-03 13: 40: 31.117 PackPlanner [581: 4465] <UIImage: 0x7fd2a843fac0>, {600, 300} error fatal: inesperadamente encontrado nil al desenvolver un valor opcional (lldb)'

class TripOverviewViewController: UITableViewController { @IBOutlet var highTempLabel: UILabel! @IBOutlet var lowTempLabel: UILabel! @IBOutlet var weatherLabel: UILabel! @IBOutlet var locationLabel: UILabel! @IBOutlet var dateLabel: UILabel! @IBOutlet var numOfPeopleLabel: UILabel! @IBOutlet var sunriseLabel: UILabel! @IBOutlet var sunsetLabel: UILabel! @IBOutlet weak var weatherButtonImage: UIButton! @IBAction func weatherButton(sender: UIButton) { } var tripItem: AnyObject? { didSet { // Update the view. self.configureView() } } func configureView() { // Update the user interface for the trip detail. if let trip: Trip = self.tripItem as? Trip{ if var label = self.locationLabel { label.text = trip.location } if var label = self.numOfPeopleLabel { label.text = trip.numOfPeople.stringValue } if var label = self.dateLabel { var formattedDate = NSDateFormatter.localizedStringFromDate(trip.startDate, dateStyle: .LongStyle, timeStyle: .NoStyle) label.text = formattedDate } if var label = self.weatherLabel { label.text = trip.weather } var theImage = UIImage(named: "Sunny") as UIImage! switch trip.weather { case "Partly Cloudy": theImage = UIImage(named:"PartlyCloudy") case "Light Snow": theImage = UIImage(named:"LightSnow") case "Rainy": theImage = UIImage(named:"Rainy") default: theImage = UIImage(named:"Sunny") } NSLog(" \(theImage.description)") //for debugging self.weatherButtonImage.setImage(theImage, forState: .Normal) } } override func viewDidLoad() { super.viewDidLoad() self.configureView() } 

    Intente esto después de NSLog ("(theImage.description)")

      if let tempButton = self.weatherButtonImage { tempButton.setImage(theImage, forState:.Normal) } else { NSLog("Button is nil") } 

    Para determinar si es su button que es nulo.

    Si su button es nulo, vuelva a conectarlo en el guión gráfico.

    ¿Estás seguro de que existe la image y no es nula? UIImage puede no ser capaz de encontrar esa image llamada "Sunny". Otra posibilidad es que self.weatherButtonImage no sea nil en ese punto (veo que es una salida), así que intente configurarlo cuando el layout de IB esté completo en viewDidLayoutSubviews.