ios block 引发的小bug

同事反馈在使用应用的时候启动就闪退。纠结了半天,在我这里就没什么问题。

 

中午在模拟器上跑,整个公司没网就突然闪退了,嗯,猜的没错,是因为网络没有,然后请求http处理的时候有点问题,

 1     [[SPHttpClient manager] GET:path
 2                      parameters:params
 3                         success:^(AFHTTPRequestOperation *operation, id responseObject) {
 4                             NSLog(@"%@",responseObject);
 5                             NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
 6                             [userDefault setObject:responseObject[@"snum"] forKey:@"sendnumber"];
 7                             if (block)
 8                             {
 9                                 block(responseObject,nil);
10                             }
11                         }
12                         failure:^(AFHTTPRequestOperation *operation, NSError *error) {
13                             if (block)
14                             {
15                                 block(nil,error);
16                             }
17                             NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
18                             [userDefault setObject:@"0" forKey:@"sendnumber"];
19                         }];

失败的时候block处理没有对block进行检测,按照我最初想得,Block肯定不会为null,后来同事调用觉得没有必要进行提示,就传入nil,

 

反省:

异常处理最开始就要加上,每一个要判断的地方都不能假设正确性。毕竟整个项目有时要很多人做。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。