Detect Change in UILabel Text
You can use key-value observing (KVO):
[label addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL];- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ if ([keyPath isEqualToString:@"text"]) { /* etc. */ }}
For Swift 3.2+
let observation = label.observe(\UILabel.text, options: [.new, .old]) { label, change in print("\(change.newValue as? String ?? "" )") }
Call observation.invalidate()
when done observing.