1
- 如果注释掉的代码“dispatch_async”这将导致在碰撞[CTTelephonyNetworkInfo的alloc]初始化]为EXC_BAD_ACCESS;
如果我不判断“if(!networkInfo)”而不是代码“CTTelephonyNetworkInfo * networkInfo = networkInfo = [[CTTelephonyNetworkInfo alloc] init];”将导致记忆快速!谢谢!CTRadioAccessTechnologyDidChangeNotification新CTRadioAccessTechnologyDidChangeNotification会导致崩溃如下
viewdidload: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateAppCellWithNetworkType:) name:CTRadioAccessTechnologyDidChangeNotification object:nil]; - (void)updateAppCellWithNetworkType:(id)sender{ **//dispatch_async(dispatch_get_main_queue(), ^{** NSString *type = nil; Reachability *currentReach = [Reachability reachabilityWithHostName:@"www.apple.com"]; if (currentReach.isReachableViaWiFi) { type = @"WiFi"; }else{ static CTTelephonyNetworkInfo *networkInfo = nil; **if (!networkInfo) { networkInfo = [[CTTelephonyNetworkInfo alloc]init]; }** type = [self getTelephonyNetworkTypeWithCTRadioAccessTechnology:networkInfo.currentRadioAccessTechnology]; } }