2016-01-10 3 views
1

Я пытаюсь определить, сколько символов находится в UILabel, поэтому я могу позвонить numberOfLines, если это необходимо.В Swift, как вы извлекаете длину UILabel?

Я помню, в Obj-C, я был в состоянии получить доступ к length на text свойство а UILabel как так:

if (self.label.text.length >= 12) 
    // Do something 

Как я могу достичь того же результата в Swift?

ответ

3
var myLabel = UILabel() 
// ... 
var numChars = myLabel.text?.characters.count ?? 0 // 0 
myLabel.text = "Foo bar" 
numChars = myLabel.text?.characters.count ?? 0  // 7 
+0

Это возвращает фактическое «число» символов в тексте строки UILabel? – Pangu

+0

@Pangu свойство '.text'' UILabel' - это всего лишь строка, поэтому да, приведенное выше возвращает количество символов в вашей 'UILabel'. – dfri

+0

@Pangu: Вопрос о том, что Swift спрашивает: что вы подразумеваете под «длиной»? Если вы имеете в виду количество сгенерированных последовательностей символов, то да, вот что возвращается. Если вы имеете в виду количество байтов UTF-8, тогда есть другой способ вычислить это. – jtbandes

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