修改Reachability檢測2g、3g、4g網絡

1.在networkStatusForFlags:方法裏面找到如下地方,替換便可。php

 1     if (flags & kSCNetworkReachabilityFlagsIsWWAN) {
 2         if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
 3             CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
 4             NSString *currentRadioAccessTechnology = info.currentRadioAccessTechnology;
 5             if (currentRadioAccessTechnology) {
 6                 if ([currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
 7                     return kReachableVia4G;
 8                 } else if ([currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge] || [currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]) {
 9                     return kReachableVia2G;
10                 } else {
11                     return kReachableVia3G;
12                 }
13             }
14         }
15         
16         if ((flags & kSCNetworkReachabilityFlagsTransientConnection) == kSCNetworkReachabilityFlagsTransientConnection) {
17             if((flags & kSCNetworkReachabilityFlagsConnectionRequired) == kSCNetworkReachabilityFlagsConnectionRequired) {
18                 return kReachableVia2G;
19             }
20             return kReachableVia3G;
21         }
22         return kReachableViaWWAN;
23     }

2.iOS高級教程2:反射根據變量的引用獲取變量名ui

 1 - (NSString *)nameWithInstance:(id)instance {
 2     unsigned int ivarCount = 0;// 成員變量的數量
 3     Ivar *ivars = class_copyIvarList([self class], &ivarCount);// 獲取這個類的 成員變量
 4     NSString *key = nil;
 5     for (int i=0; i<ivarCount; i++) {
 6         Ivar thisIvar = ivars[i];
 7         // 獲取變量的類型,判斷是不是對象
 8         NSString *type = [NSString stringWithUTF8String:ivar_getTypeEncoding(thisIvar)];
 9         if (![type hasPrefix:@"@"]) {
10             continue;
11         }
12         if (object_getIvar(self, thisIvar) == instance) {// 獲取實例對象的成員變量與傳入實例對象的成員變量比較
13             key = [NSString stringWithUTF8String:ivar_getName(thisIvar)];// 取得實例對象的成員變量名稱
14             break;
15         }
16     }
17     free(ivars);
18     return key;
19 }
20 
21 #define varName(var) [NSString stringWithFormat:@"%s", #var]
22 NSString *abc = varName(abc);
23 NSLog(@"%@", abc);
相關文章
相關標籤/搜索