(1)֪ͨÊÇʲô?
֮ǰд¹ýһƪÎÄÕÂ,Ò²ÊǹØÓÚ֪ͨµÄ,µ«ÊÇÆ«ÀíÂÛ»¯.
?
½ñÌìÀ´Ò»ÆªÆ«ÖØÊµ¼ÊÓ¦ÓõÄ֪ͨʵÀý.ÏàÐÅÕâÑùÁ½ÆªÎÄÕºó,Äܹ»¸øÈÃÎÒÃǶÔÓÚ֪ͨÓнÏΪÉî¿ÌµÄÀí½âÁË.
?
(2)֪ͨÄܹ»½â¾öʲôÎÊÌâ?
ͨË׵Ľ²,֪ͨÊÇÒ»Öֹ㲥ģʽ,µ±Óжà¸öÒ³Ãæ¶Ôijһ¸öÒ³ÃæµÄij¸ö¿Ø¼þ(»òÕßÌØÐÔ)¹Ø×¢Ê±ºò,ÎÒÃÇ¿ÉÒÔ²ÉÓÃ֪ͨģʽ.ÕâÑù,µ±ÎÒÃǹØ×¢Ò³ÃæµÄÌØÐÔ·¢Éú±ä»¯ºó,ÆäËûÒ³Ãæ¾Í¼ì²âµ½Õâ¸ö±ä»¯,È»ºó¸ç¸çÒ³Ãæ»á²ÉÈ¡ÏàÓ¦µÄÏìÓ¦´ëÊ©.
?
(3)֪ͨʵÏÖʵÀý?
ÎÒ×öÁËÒ»¸öСµÄdemo,demoÖк¬ÓÐÈý¸öÒ³Ãæ,ÎÒÏëҪʵÏÖµÄÊǵ±µÚ¶þ¸öÒ³ÃæµÄUITextField¿ªÊ¼±à¼µÄʱºò,ÎҵĵÚÒ»Ò³ºÍµÚÈýÒ³ÉèÖøü¸Ä±³¾°É«.
Ê×ÏȵڶþÒ³·¢ËÍ֪ͨ,Õâ¸ö·¢ËÍ֪ͨµÄʱ¼äµãºÜÖØÒª,ÎÒÃÇÐèÒª¼ì²âµÄʱUITextFieldÊÇ·ñ¿ªÊ¼±à¼,ÄÇô¾ÍÐèҪдÔÚ´úÀí·½·¨ÀïÃæ
?
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@¿ªÊ¼±à¼ÁË);
[[NSNotificationCenter defaultCenter] postNotificationName:@changeColor object:self];
}
È»ºóÎÒÃÇÔÚµÚÒ»Ò³×¢²á¼àÌýÕß,ÒÔ¼°¼àÌýºóµÄʵÏÖ·½·¨.
?
?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//³õʼ»¯Í¨ÖªÖÐÐÄ
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(changeColor) name:@changeColor object:nil];
}
µ±¼àÌýµ½Í¨Öªºó,»áÓÐÏàÓ¦ÏìÓ¦
?
?
- (void)changeColor
{
self.view.backgroundColor = [UIColor redColor];
}
ͬÑù,ÎÒÃÇÔÚµÚÈýÒ³×¢²á¼àÌýÕßÒÔ¼°É趨¼àÌý·½·¨(ÕâÀï²»ÔÙ׸Êö).
?
µ½´ËΪֹ,ÎÒÃǵÄ֪ͨÉ趨Íê±Ï,µ±ÎÒÃÇ¿ªÊ¼±à¼UITextField¿òµÄʱºò,¾Í»á´¥·¢·¢ËÍÏûÏ¢µÄ·½·¨,¹ã²¥ÏûÏ¢,µ±µÚÒ»Ò³ºÍµÚÈýÒ³ÊÕµ½ÏûÏ¢,¾Í»á²ÉÈ¡ÏàÓ¦Ðж¯(changeColor).
?
(4)֪ͨµÄ´«ÖµÓ¦ÓÃ
֪ͨ²»½ö¿ÉÒÔÓÃÀ´¹ã²¥ÏûÏ¢,ͬʱÔڹ㲥µÄʱºò¿ÉÒÔ´«Öµ,¸øËùÓÐËûµÃ·ÛË¿(¼àÌýÕß)´«Öµ¾ßÌå·½·¨ÈçÏÂ
?
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@¿ªÊ¼±à¼ÁË);
//[[NSNotificationCenter defaultCenter] postNotificationName:@changeColor object:self];
[[NSNotificationCenter defaultCenter]postNotificationName:@changeColor object:self userInfo:[NSDictionary dictionaryWithObject:@red forKey:@color]];
}
ÕâÀï¾ÍÊǽ«Ò»¸ö×ÖµäÐÅÏ¢·¢ËͳöÈ¥.×ÔÈ»·ÛË¿µÄ½ÓÊÕÒ²ÐèÒª´Ó×ÖµäÀïÃæÈ¡Öµ
?
?
- (void)changeColor:(NSNotification*)notification
{
NSDictionary *dic = [notification userInfo];
NSString *str = [dic valueForKey:@color];
if ([str isEqualToString:@red]) {
self.view.backgroundColor = [UIColor redColor];
}
}
(5)×îºóÓÐÒ»µãÐèҪǿµ÷µÄÊÇ,ÎÞÂÛÓжàÉÙ¸ö¼àÌýÕß,ÿ¸ö×¢²áΪ¼àÌýÕߵĶÔÏó×îºó¶¼µÃÊÍ·Å,²»È»¾Í»áÏñÎÒ֮ǰÎÄÕÂÖÐÃèÊöµÄÄÇÑù,¿ÉÄܳöÏÖÒ°Ö¸ÕëµÄ±ÀÀ£.
?
?
?
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:@back object:nil];
}
?
?