2015-02-05 2 views
0

У меня есть UILabel, который является частью массива [UILabel], я пытаюсь установить текст UILabel в следующим образом:При попытке установить текст UILabel, результат всегда «Необязательный (« 0.0 ») '

yLabel[0].text = "\(yMaxValue)" 

Но результат всегда 0.0. Когда я запускаю

println(yLabel[0].text) 

Результат Optional("0.0"). Это потому, что UILabel является частью массива? Как я могу установить текст UILabel, который является частью массива?

EDIT: Скриншот выпуска, выход из Println (test.text) является Optional("0.0") Screenshot

yLabels созданы в этой строке:

private var yLabels: [UILabel] = [UILabel](count: 5, repeatedValue: UILabel()) 
+0

Вы должны показать код, в котором Вы заявляете и создать yLabel. – rdelmar

ответ

4

Проблема заключается в том, как вы создаете свой массив; вы не добавляете 5 разных меток, вы добавляете 5 одинаковых ярлыков, поэтому ярлык заканчивается тем значением, которое вы задали последним (yMinValue). Создайте свой массив, как это так, и он должен работать (вы также должны иметь «!» После того, как текст, как и другие указали),

private var yLabel = [UILabel(), UILabel(), UILabel(), UILabel(), UILabel()] 
+0

Спасибо! Я не знал, что повторение Value сделало это! –

1

Причина заключается в том, что оно является необязательным стоимость. Если вы уверены, что она всегда будет иметь содержание, попробуйте:

println(ylabel[0].text!) 

Посмотрите на Apple docs для получения дополнительной информации.

0

Этот код должен работать, скорее всего, это то, что yMaxValue всегда 0.0 по какой-то несвязанной причине.

Когда вы получить текст из этикетки обернута в опциональном, поскольку значение может бытьnil. Чтобы развернуть его при печати, используйте: println(ylabel[0].text!).

+0

Спасибо за ответ, к сожалению, yMaxValue на самом деле не установлен в 0, но это CGFloat. Является ли это изменением CGFloat, как я устанавливаю текст UILabel? –

+0

Итак, если вы печатаете '' \ (yMaxValue) "', то он не показывает '0.0'? CGFloat to string: http://stackoverflow.com/questions/25154087/converting-cgfloat-to-string-in-swift – javanut13

+0

Когда я печатаю yMaxValue, это 92.0 –

Смежные вопросы