2013-01-14 105 views
9

是否可以設定當UILabel的文本屬性更改爲一個通知?當我找不到一個UILabel時,我嘗試了用於UITextFields的那個,但它不起作用。檢測中的UILabel文本更改

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(posttosocial) 
name:UITextFieldTextDidChangeNotification 
object:nowplaying]; 
+0

嘗試使用鍵 - 值觀察。 – 2013-01-14 21:16:30

+0

我會如何去做一個UILabel? – user717452

+2

@userXXXX'[標籤的addObserver:自forKeyPath:@ 「文本」 選項:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld上下文:NULL];'然後執行關於'self'適當觀察者的方法。 – 2013-01-14 21:22:05

回答

21

您可以使用鍵 - 值觀察(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. */ 
    } 
}