2015-01-30 4 views
3

Я работаю над приложением iWatch, и я получаю следующее сообщение об ошибке:Swift «WKInterfaceLabel» не имеет элемент с именем «текст»

'WKInterfaceLabel' does not have a member named 'text'

Выход:

@IBOutlet var numField: WKInterfaceLabel! 

Соответствующий блок кода, который вызывает ошибку:

func updateDisplay() { 
    // If the value is an integer, don't show a decimal point 
    var iAcc = Int(accumulator) 
    if accumulator - Double(iAcc) == 0 { 
     numField.text = "\(iAcc)" 
    } else { 
     numField.text = "\(accumulator)" 
    } 

в частности:

numField.text = "\(iAcc)" 

и

numField.text = "\(accumulator)" 

Я попытался optionals как это было предложено в other answers, но я все еще возникают проблемы.

ответ

10

От the class reference

Там нет свойства для текста. Способ установить текст, чтобы вызвать метод SetText:

numField.setText("\(Acc)") 

или

numField.setText("\(accumulator")) 
+0

работал отлично спасибо. Я использовал setText в качестве решения, но мое использование было неправильным. – Yashar

+0

set text - установить текст на WKInterfaceLabel, но как получить текст на WKInterfaceLabel для сравнения строк. –

+0

@PradumnaPatil это невозможно на WKInterfaceLabel даже на watchOS 2 –

0

Там не является text свойства для печати этикеток. Вы должны использовать свойство setText.

func updateDisplay() { 
    // If the value is an integer, don't show a decimal point 
    var iAcc = Int(accumulator) 

    if accumulator - Double(iAcc) == 0 { 
     numField.setText("\(iAcc)") 
    } else { 
     numField.setText("\(accumulator)") 
    } 
} 

Ниже WKInterfaceLabel объявление класса:

Screenshot

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