2016-11-05 3 views
5

Я продолжаю получать эту ошибку. «Инициализатор для условной привязки должен иметь необязательный тип, а не« Double ». Я пытаюсь отобразить некоторые основные данные данных, и этот двойной. Ive попытался обойти это так же, как мне приходилось делать, чтобы сохранить значения при его преобразовании.Swift 3 Convert Double to String

Heres код, который дает мне ошибку: "? Double"

func displayStats() { 



     // display other attributes if they have values 
     if let servingSize = mealstats.serving { 
      servingsLabel.text = servingSize 

     } 
+0

Так что 'mealstats.serving' - это Double? в этом случае вы можете просто выполнить 'servingsLabel.text =" \ (mealstats.serving) "' – Keiwan

+0

Возможно, вы хотите использовать 'NSNumberFormatter' для правильного форматирования числа в строке. – Sulthan

+0

String (foodstats.serving) – TheValyreanGroup

ответ

5

mealstats.serving является наиболее вероятно, типа "двойной" и не
Поскольку он не является обязательным, его нельзя развернуть. Правильный способ его использования будет

func displayStats() { 
    // display other attributes if they have values 
    servingsLabel.text = "\(mealstats.serving)" 
} 
+0

Abhra Dasgupta - это сработало, спасибо. – rahmikg

+0

Это может привести к неправильному результату, поскольку он не учитывает региональные настройки. –