通知委托
2015-12-14 本文已影响20人
俊月
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0) {
// 委托
[_delegate buyIphone:@"📱"];
}else if (buttonIndex == 1){
// 通知
NSDictionary *dic = @{@"boom":@"💣"};
[[NSNotificationCenter defaultCenter] postNotificationName:@"changeLabel" object:dic];
}
}
通知
第一个页面
1.注册通知
2.拿到暗号,做事情
-(void)justDoIt:(NSNotification *)obj{
NSDictionary *dic = [obj object];
_notificationOrigionLabel.text = dic[@"boom"];
}
第二个页面
1:对暗号
在button里写
UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"通知" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
}];
[ac addAction:cancle];
NSDictionary * dic = @{@"boom":@"💣"};
[[NSNotificationCenter defaultCenter] postNotificationName:@"zhadan" object:dic];
changeLabel为暗号
委托
【第二个页面】
1在第二个页面写协议,写在interface
上面
@protocol BuyIphone6sDelegate <NSObject>
2.在第二个页面 实例化协议的变量
-(void)buyIphone:(NSString *)str;
3.让协议变量去做做协议中的方法
@property(nonatomic,strong)id<BuyIphone6sDelegate>delegate;
在button里实现
UIAlertAction *enter = [UIAlertAction actionWithTitle:@"委托" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[_delegate buyIphone:@"📱"];
}];
方法
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0) {
// 委托
[_delegate buyIphone:@"📱"];
【第一个页面】
1.跳转页面的时候,签合同。
vc2.delegate = self; self为vc1
2.在interface中实现这个协议
@interface DPNViewController ()<BuyIphone6sDelegate>
3.在.m中实现协议方法
-(void)buyIphone:(NSString *)str{
_delegateOriginLabel.text = str;
}