Detect Change in UILabel Text Detect Change in UILabel Text xcode xcode

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.