通知传值(NSNotificationCenter)
2014-07-19 20:57?315人閱讀?評論(0)?收藏?舉報
NSNotificationCenteruitableviewcellNSNotificationios開發(fā)界面
通知傳值
//流程:
1.注冊通知
2.通知中心,發(fā)送一條消息通知----------其中name名字千萬不要寫錯了,會出現(xiàn)在3個地方
3.實現(xiàn)通知中心內(nèi)部的方法,并實現(xiàn)傳值
4.第四步,消息發(fā)送完,要移除掉
代碼如下:
[objc]?view plaincopy
#import?"FirstViewController.h"??
#import?"SecondViewController.h"??
#import?"UIButton+Create.h"??
@interface?FirstViewController?()??
{??
????UILabel?*?_label;??
}??
@end??
??
@implementation?FirstViewController??
-?(void)dealloc??
{??
????[_label?release];??
????//第四步,消息發(fā)送完,要移除掉??
????[[NSNotificationCenter?defaultCenter]removeObserver:self?name:@"labelTextNotification"?object:nil];??
????[super?dealloc];??
}??
-?(id)initWithNibName:(NSString?*)nibNameOrNil?bundle:(NSBundle?*)nibBundleOrNil??
{??
????self?=?[super?initWithNibName:nibNameOrNil?bundle:nibBundleOrNil];??
????if?(self)?{??
????????//?Custom?initialization??
????}??
????return?self;??
}??
??
-?(void)viewDidLoad??
{??
????[super?viewDidLoad];??
??????
??????
????self.view.backgroundColor?=?[UIColor?redColor];??
????self.navigationItem.title?=?@"首頁";??
??????
????_label?=?[[UILabel?alloc]initWithFrame:CGRectMake(50,?80,?200,?30)];??
????_label.backgroundColor?=?[UIColor?greenColor];??
????[self.view?addSubview:_label];??
??????
??????
??????
????UIButton?*?button?=?[UIButton?systemButtonWithFrame:CGRectMake(100,?120,?50,?50)?title:@"Push"?target:self?action:@selector(didClickButtonAction)];??
????[self.view?addSubview:button];??
??????
????//第二步,通知中心,發(fā)送一條消息通知----------其中name名字千萬不要寫錯了,會出現(xiàn)在3個地方??
????[[NSNotificationCenter?defaultCenter]addObserver:self?selector:@selector(showLabelText:)?name:@"labelTextNotification"?object:nil];??
??????
???
??????
??????
????//?Do?any?additional?setup?after?loading?the?view.??
}??
??
-?(void)showLabelText:(NSNotification?*)notification??
{??
????//第三,實現(xiàn)通知中心內(nèi)部的方法,并實現(xiàn)傳值??
????id?text?=?notification.object;??
????_label.text?=?text;??
}??
??
-?(void)didClickButtonAction??
{??
??????
????
????SecondViewController?*?secondVC?=?[[SecondViewController?alloc]init];??
????[self.navigationController?pushViewController:secondVC?animated:YES];??
????[secondVC?release];??
}??
??
-?(void)didClick:(NSString?*)text??
{??
????_label.text?=?text;??
}??
??
-?(void)didReceiveMemoryWarning??
{??
????[super?didReceiveMemoryWarning];??
????//?Dispose?of?any?resources?that?can?be?recreated.??
}??
??
@end??
[objc]?view plaincopy
#import?"SecondViewController.h"??
#import?"FirstViewController.h"??
#import?"UIButton+Create.h"??
@interface?SecondViewController?()??
{??
????UITextField?*?_textField;//創(chuàng)建一個輸入框??
}??
@end??
@implementation?SecondViewController??
??
-?(void)dealloc??
{??
????[_textField?release];??
????[super?dealloc];??
}??
-?(id)initWithNibName:(NSString?*)nibNameOrNil?bundle:(NSBundle?*)nibBundleOrNil??
{??
????self?=?[super?initWithNibName:nibNameOrNil?bundle:nibBundleOrNil];??
????if?(self)?{??
????????//?Custom?initialization??
????}??
????return?self;??
}??
??
-?(void)viewDidLoad??
{??
????[super?viewDidLoad];??
????self.view.backgroundColor?=?[UIColor?orangeColor];??
????self.navigationItem.title?=?@"第二頁";??
????
??????
??????
????_textField?=?[[UITextField?alloc]initWithFrame:CGRectMake(50,?80,?200,?30)];??
????_textField.borderStyle?=?UITextBorderStyleRoundedRect;??
????[self.view?addSubview:_textField];??
??????
??????
??????
??????
????UIButton?*?button?=?[UIButton?systemButtonWithFrame:CGRectMake(100,?120,?50,?50)?title:@"Back"?target:self?action:@selector(didClickButtonAction)];??
????[self.view?addSubview:button];??
???
??????
??????
??????
??????
????//?Do?any?additional?setup?after?loading?the?view.??
}??
??
-?(void)didClickButtonAction??
{??
??????
????//第一步注冊通知??
????[[NSNotificationCenter?defaultCenter]postNotificationName:@"labelTextNotification"?object:_textField.text];??
????[self.navigationController?popToRootViewControllerAnimated:YES];??
}??
??
??
??
-?(void)didReceiveMemoryWarning??
{??
????[super?didReceiveMemoryWarning];??
????//?Dispose?of?any?resources?that?can?be?recreated.??
}??
??
@end??
轉(zhuǎn)載于:https://blog.51cto.com/9453125/1561046
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的通知传值(NSNotificationCenter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: memcpy的使用方法总结
- 下一篇: 依赖范围