将WKInterfaceLabel文本与另一个NSString进行比较

时间:2015-04-17 15:32:55

标签: objective-c watchkit apple-watch wkinterfacelabel

我知道WKInterfaceLabel没有getter方法,但还有另一种方法可以将标签文本与另一个字符串进行比较吗?如果这不是一个手表应用程序而我使用UILabel我可以这样做:

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

    }

1 个答案:

答案 0 :(得分: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";
   ...
}

另外,无论如何都要使用辅助功能,以便合法。可能还有其他方法可以实现,但这似乎是最快捷,最安全的方式。