通知的状况

今天写代码,遇到了一个bug,

整个项目主控制器为tabBarController,项目的需求是这样的:

在第一个页面上进行一定的操作,跳到外部浏览器,进行数据的处理!数据处理完了,发一个通知,调到第三个页面下的一个子页面中去!

刚开始在接受控制器写在了ViewDidLoad中,但是这种写法,我们首次进行跳转的时候接受不到我们代理发送的通知,

后面百度了下,也没有合适的方法,

最后我尝试着写,把接收通知写到了init方法中,后面首次也能接收到通知了!

贴上我们的代码


- (instancetype)init

{

    self = [super init];

    if (self) {

        [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(stepToGCJL) name:goucaijilu object:nil]; //跳转购彩记录

    }

    return self;

}


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{


    NSString  *str=[NSString stringWithFormat:@"%@",url];

    NSArray  *strArry=[str componentsSeparatedByString:@":"];

    NSString  *str1=[strArry objectAtIndex:0];

    if ([str1 isEqualToString:@"@@"]) { //跳转到购彩记录里面

        tabBarCtl.selectedIndex=4;

        [[NSNotificationCenter defaultCenter]postNotificationName:goucaijilu object:nil];

    }else if([str1 isEqualToString:@"@@@@@"])

    {

       //如果极简SDK不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给SDK 在跳转的pay方法里面接收

        [[AlipaySDK defaultService]processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {

            

        }];

        

    }

    return YES;

}


在此记录,用于以后的阅读!!


要是有更好的方法,大家可以讨论讨论哈!!



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部