通知委托

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;
}
上一篇下一篇

猜你喜欢

热点阅读