Сравнить текст WKInterfaceLabel с другой строкой NSString
Я знаю, что для WKInterfaceLabel нет метода получения, но есть ли другой способ сравнить текст метки с другой строкой? Если это не было приложение для часов, и я использовал UILabel, я мог бы просто сделать это:
if ([self.label.text isEqualToString:someString]) {
}
1 ответ
Как вы сказали, нет поддерживаемого способа получения текста, однако вы можете использовать элементы доступности в качестве "опции".
Вот идея:
Когда установлен текст self.label (либо в коде, либо в раскадровке), также установите соответствующую метку / значение специальных возможностей. Когда вам нужно прочитать / обновить текст метки, просто убедитесь, что вы используете вместо этого значения специальных возможностей.
self.label.text = @"foo";
self.label.accessibilityValue = @"foo";
if ([self.label.accessibilityValue isEqualToString:someString]) {
self.label.text = @"bar";
self.label.accessibilityValue = @"bar";
...
}
Плюс это то, как вы будете использовать доступность в любом случае, так что это законно. Для этого могут быть и другие способы, но это, кажется, самый быстрый и безопасный способ сделать то, что вы хотите.