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

rag*_*oat 1 objective-c apple-watch watchkit wkinterfacelabel

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

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

    }
Run Code Online (Sandbox Code Playgroud)

小智 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";
   ...
}
Run Code Online (Sandbox Code Playgroud)

另外,无论如何都要使用可访问性,这是合法的.可能还有其他方法可以实现,但这似乎是做你想做的最快最安全的方法.