2015-04-17 2 views
1

Я знаю, что для WKInterfaceLabel нет метода getter, но есть ли другой способ сравнить текст метки с другой строкой? Если это не было смотреть приложение, и я использовал UILabel я мог бы просто сделать это:Сравните WKInterfaceLabel Текст с другим NSString

if ([self.label.text isEqualToString:someString]) { 

    } 

ответ

6

Там не поддерживается способ, чтобы получить текст, так же, как вы сказали, но вы можете использовать элементы доступности как «вариант».

Вот идея:

Когда self.label текст устанавливается (либо в коде или раскадровки) также установить соответствующую доступность метки/значение. Когда вам нужно прочитать/обновить текст ярлыка, просто убедитесь, что вместо этого вы используете значения доступности.

self.label.text = @"foo"; 
self.label.accessibilityValue = @"foo"; 

if ([self.label.accessibilityValue isEqualToString:someString]) { 
    self.label.text = @"bar"; 
    self.label.accessibilityValue = @"bar"; 
    ... 
} 

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

+0

Я написал свой собственный ответ, предложив использовать свойство NSString, чтобы сохранить копию текста, хранящегося в WKInterfaceLabel. Но мне нравится этот ответ лучше. –

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