2015-08-18 42 views
0

我不能讓我的圖標顯示,我得到一個錯誤就行:回報的UIImage(命名爲:imageName)無法獲取圖標顯示

錯誤說:預期的功能缺失回報返回「UIImage?」

如果有人能幫我擺脫這個惱人的錯誤,請提前致謝。

import Foundation 
    import UIKit 

    enum Icon: String { 
     case ClearDay = "clear-day" 
     case ClearNight = "clear-night" 
     case Rain = "rain" 
     case Snow = "snow" 
     case Sleet = "sleet" 
     case Wind = "wind" 
     case Fog = "fog" 
     case Cloudy = "cloudy" 
     case PartlyCloudyDay = "partly-cloudy-day" 
     case PartlyCloudyNight = "partly-cloudy-night" 


     func toImage() -> UIImage? { 
      var imageName: String 

      switch self { 
      case .ClearDay: 
       imageName = "clear-day.png" 
      case .ClearNight: 
       imageName = "clear-night.png" 
      case .Rain: 
       imageName = "rain.png" 
      case .Snow: 
       imageName = "snow.png" 
      case .Sleet: 
       imageName = "sleet.png" 
      case .Wind: 
       imageName = "wind.png" 
      case .Fog: 
       imageName = "fog.png" 
      case .Cloudy: 
       imageName = "cloudy.png" 
      case .PartlyCloudyDay: 
       imageName = "cloudy-day.png" 
      case .PartlyCloudyNight: 
       imageName = "cloudy-night.png" 

       return UIImage(named: imageName) 
      } 
     } 
    } 
+0

枚舉圖標:字符串應該返回一個字符串 –

+0

也許這:http://stackoverflow.com/questions/10931510/how-to-set-image-to-uiimage – Zer0

+0

感謝大家的努力幫助@ AdamPro13解決它 – Katz

回答

1

你return語句是在.PartlyCloudyNight情況下,交換機的。您需要將它移動到交換機之外。

+0

感謝您的幫助 – Katz

+0

您可能還有興趣使每個枚舉的字符串值與它們各自的文件名相同(不帶.png,這是不必要的)。然後你可以簡化你的函數來返回UIImage(名爲:self.rawValue())' – AdamPro13