iOS常用公共方法(Public)

iOS常用公共方法

1. 获取磁盘总空间大小
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
//磁盘总空间
+ (CGFloat)diskOfAllSizeMBytes{
     CGFloat size = 0.0;
     NSError *error;
     NSDictionary *dic = [[ NSFileManager defaultManager] attributesOfFileSystemForPath: NSHomeDirectory () error:&error];
     if (error) {
#ifdef DEBUG
         NSLog ( @"error: %@" , error.localizedDescription);
#endif
     } else {
         NSNumber *number = [dic objectForKey: NSFileSystemSize ];
         size = [number floatValue]/1024/1024;
     }
     return size;
}



2. 获取磁盘可用空间大小
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
//磁盘可用空间
+ (CGFloat)diskOfFreeSizeMBytes{
     CGFloat size = 0.0;
     NSError *error;
     NSDictionary *dic = [[ NSFileManager defaultManager] attributesOfFileSystemForPath: NSHomeDirectory () error:&error];
     if (error) {
#ifdef DEBUG
         NSLog ( @"error: %@" , error.localizedDescription);
#endif
     } else {
         NSNumber *number = [dic objectForKey: NSFileSystemFreeSize ];
         size = [number floatValue]/1024/1024;
     }
     return size;
}




3. 获取指定路径下某个文件的大小
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
//获取文件大小
+ ( long long )fileSizeAtPath:( NSString *)filePath{
     NSFileManager *fileManager = [ NSFileManager defaultManager];
     if (![fileManager fileExistsAtPath:filePath]) return 0;
     return [[fileManager attributesOfItemAtPath:filePath error: nil ] fileSize];
}




4. 获取文件夹下所有文件的大小
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
//获取文件夹下所有文件的大小
+ ( long long )folderSizeAtPath:( NSString *)folderPath{
     NSFileManager *fileManager = [ NSFileManager defaultManager];
     if (![fileManager fileExistsAtPath:folderPath]) return 0;
     NSEnumerator *filesEnumerator = [[fileManager subpathsAtPath:folderPath] objectEnumerator];
     NSString *fileName;
     long long folerSize = 0;
     while ((fileName = [filesEnumerator nextObject]) != nil ) {
         NSString *filePath = [folderPath stringByAppendingPathComponent:fileName];
         folerSize += [ self fileSizeAtPath:filePath];
     }
     return folerSize;
}



5. 获取字符串(或汉字)首字母
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
//获取字符串(或汉字)首字母
+ ( NSString *)firstCharacterWithString:( NSString *)string{
     NSMutableString *str = [ NSMutableString stringWithString:string];
     CFStringTransform((CFMutableStringRef)str, NULL , kCFStringTransformMandarinLatin, NO );
     CFStringTransform((CFMutableStringRef)str, NULL , kCFStringTransformStripDiacritics, NO );
     NSString *pingyin = [str capitalizedString];
     return [pingyin substringToIndex:1];
}






6. 将字符串数组按照元素首字母顺序进行排序分组
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//将字符串数组按照元素首字母顺序进行排序分组
+ ( NSDictionary *)dictionaryOrderByCharacterWithOriginalArray:( NSArray *)array{
     if (array.count == 0) {
         return nil ;
     }
     for ( id obj in array) {
         if (![obj isKindOfClass:[ NSString class ]]) {
             return nil ;
         }
     }
     UILocalizedIndexedCollation *indexedCollation = [UILocalizedIndexedCollation currentCollation];
     NSMutableArray *objects = [ NSMutableArray arrayWithCapacity:indexedCollation.sectionTitles.count];
     //创建27个分组数组
     for ( int i = 0; i < indexedCollation.sectionTitles.count; i++) {
         NSMutableArray *obj = [ NSMutableArray array];
         [objects addObject:obj];
     }
     NSMutableArray *keys = [ NSMutableArray arrayWithCapacity:objects.count];
     //按字母顺序进行分组
     NSInteger lastIndex = -1;
     for ( int i = 0; i < array.count; i++) {
         NSInteger index = [indexedCollation sectionForObject:array[i] collationStringSelector: @selector (uppercaseString)];
         [[objects objectAtIndex:index] addObject:array[i]];
         lastIndex = index;
     }
     //去掉空数组
     for ( int i = 0; i < objects.count; i++) {
         NSMutableArray *obj = objects[i];
         if (obj.count == 0) {
             [objects removeObject:obj];
         }
     }
     //获取索引字母
     for ( NSMutableArray *obj in objects) {
         NSString *str = obj[0];
         NSString *key = [ self firstCharacterWithString:str];
         [keys addObject:key];
     }
     NSMutableDictionary *dic = [ NSMutableDictionary dictionary];
     [dic setObject:objects forKey:keys];
     return dic;
}
 
//获取字符串(或汉字)首字母
+ ( NSString *)firstCharacterWithString:( NSString *)string{
     NSMutableString *str = [ NSMutableString stringWithString:string];
     CFStringTransform((CFMutableStringRef)str, NULL , kCFStringTransformMandarinLatin, NO );
     CFStringTransform((CFMutableStringRef)str, NULL , kCFStringTransformStripDiacritics, NO );
     NSString *pingyin = [str capitalizedString];
     return [pingyin substringToIndex:1];
}
使用如下:
[Objective-C]  查看源文件  复制代码
?
1
2
3
NSArray *arr = @[ @"guangzhou" , @"shanghai" , @"北京" , @"henan" , @"hainan" ];
NSDictionary *dic = [Utilities dictionaryOrderByCharacterWithOriginalArray:arr];
NSLog ( @"\n\ndic: %@" , dic);


输出结果如下:
 
输出结果

7. 获取当前时间
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
//获取当前时间
//format: @"yyyy-MM-dd HH:mm:ss"、@"yyyy年MM月dd日 HH时mm分ss秒"
+ ( NSString *)currentDateWithFormat:( NSString *)format{
     NSDateFormatter *dateFormatter = [[ NSDateFormatter alloc] init];
     [dateFormatter setDateFormat:format];
     return [dateFormatter stringFromDate:[ NSDate date]];
}





8. 计算上次日期距离现在多久, 如 xx 小时前、xx 分钟前等
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
  *  计算上次日期距离现在多久
  *
  *  @param lastTime    上次日期(需要和格式对应)
  *  @param format1     上次日期格式
  *  @param currentTime 最近日期(需要和格式对应)
  *  @param format2     最近日期格式
  *
  *  @return xx分钟前、xx小时前、xx天前
  */
+ ( NSString *)timeIntervalFromLastTime:( NSString *)lastTime
                         lastTimeFormat:( NSString *)format1
                          ToCurrentTime:( NSString *)currentTime
                      currentTimeFormat:( NSString *)format2{
     //上次时间
     NSDateFormatter *dateFormatter1 = [[ NSDateFormatter alloc]init];
     dateFormatter1.dateFormat = format1;
     NSDate *lastDate = [dateFormatter1 dateFromString:lastTime];
     //当前时间
     NSDateFormatter *dateFormatter2 = [[ NSDateFormatter alloc]init];
     dateFormatter2.dateFormat = format2;
     NSDate *currentDate = [dateFormatter2 dateFromString:currentTime];
     return [Utilities timeIntervalFromLastTime:lastDate ToCurrentTime:currentDate];
}
 
+ ( NSString *)timeIntervalFromLastTime:( NSDate *)lastTime ToCurrentTime:( NSDate *)currentTime{
     NSTimeZone *timeZone = [ NSTimeZone systemTimeZone];
     //上次时间
     NSDate *lastDate = [lastTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:lastTime]];
     //当前时间
     NSDate *currentDate = [currentTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:currentTime]];
     //时间间隔
     NSInteger intevalTime = [currentDate timeIntervalSinceReferenceDate] - [lastDate timeIntervalSinceReferenceDate];
 
     //秒、分、小时、天、月、年
     NSInteger minutes = intevalTime / 60;
     NSInteger hours = intevalTime / 60 / 60;
     NSInteger day = intevalTime / 60 / 60 / 24;
     NSInteger month = intevalTime / 60 / 60 / 24 / 30;
     NSInteger yers = intevalTime / 60 / 60 / 24 / 365;
 
     if (minutes <= 10) {
         return  @"刚刚" ;
     } else if (minutes < 60){
         return [ NSString stringWithFormat: @"%ld分钟前" ,( long )minutes];
     } else if (hours < 24){
         return [ NSString stringWithFormat: @"%ld小时前" ,( long )hours];
     } else if (day < 30){
         return [ NSString stringWithFormat: @"%ld天前" ,( long )day];
     } else if (month < 12){
         NSDateFormatter * df =[[ NSDateFormatter alloc]init];
         df.dateFormat = @"M月d日" ;
         NSString * time = [df stringFromDate:lastDate];
         return time;
     } else if (yers >= 1){
         NSDateFormatter * df =[[ NSDateFormatter alloc]init];
         df.dateFormat = @"yyyy年M月d日" ;
         NSString * time = [df stringFromDate:lastDate];
         return time;
     }
     return @"" ;
}



使用如下:
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
NSLog ( @"\n\nresult: %@" , [Utilities timeIntervalFromLastTime: @"2015年12月8日 15:50"
                                            lastTimeFormat: @"yyyy年MM月dd日 HH:mm"
                                             ToCurrentTime: @"2015/12/08 16:12"
                                         currentTimeFormat: @"yyyy/MM/dd HH:mm" ]);






输出结果如下:
 
输出结果

9. 判断手机号码格式是否正确
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//判断手机号码格式是否正确
+ ( BOOL )valiMobile:( NSString *)mobile{
     mobile = [mobile stringByReplacingOccurrencesOfString: @" " withString: @"" ];
     if (mobile.length != 11)
     {
         return NO ;
     } else {
         /**
          * 移动号段正则表达式
          */
         NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$" ;
         /**
          * 联通号段正则表达式
          */
         NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$" ;
         /**
          * 电信号段正则表达式
          */
         NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$" ;
         NSPredicate *pred1 = [ NSPredicate predicateWithFormat: @"SELF MATCHES %@" , CM_NUM];
         BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
         NSPredicate *pred2 = [ NSPredicate predicateWithFormat: @"SELF MATCHES %@" , CU_NUM];
         BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
         NSPredicate *pred3 = [ NSPredicate predicateWithFormat: @"SELF MATCHES %@" , CT_NUM];
         BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
 
         if (isMatch1 || isMatch2 || isMatch3) {
             return YES ;
         } else {
             return NO ;
         }
     }
}





10. 判断邮箱格式是否正确
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
//利用正则表达式验证
+ ( BOOL )isAvailableEmail:( NSString *)email {
     NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" ;
     NSPredicate *emailTest = [ NSPredicate predicateWithFormat: @"SELF MATCHES %@" , emailRegex];
     return [emailTest evaluateWithObject:email];
}




11. 将十六进制颜色转换为 UIColor 对象
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//将十六进制颜色转换为 UIColor 对象
+ (UIColor *)colorWithHexString:( NSString *)color{
     NSString *cString = [[color stringByTrimmingCharactersInSet:[ NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
     // String should be 6 or 8 characters
     if ([cString length] < 6) {
         return [UIColor clearColor];
     }
     // strip "0X" or "#" if it appears
     if ([cString hasPrefix: @"0X" ])
         cString = [cString substringFromIndex:2];
     if ([cString hasPrefix: @"#" ])
         cString = [cString substringFromIndex:1];
     if ([cString length] != 6)
         return [UIColor clearColor];
     // Separate into r, g, b substrings
     NSRange range;
     range.location = 0;
     range.length = 2;
     //r
     NSString *rString = [cString substringWithRange:range];
     //g
     range.location = 2;
     NSString *gString = [cString substringWithRange:range];
     //b
     range.location = 4;
     NSString *bString = [cString substringWithRange:range];
     // Scan values
     unsigned int r, g, b;
     [[ NSScanner scannerWithString:rString] scanHexInt:&r];
     [[ NSScanner scannerWithString:gString] scanHexInt:&g];
     [[ NSScanner scannerWithString:bString] scanHexInt:&b];
     return [UIColor colorWithRed:(( float ) r / 255.0f) green:(( float ) g / 255.0f) blue:(( float ) b / 255.0f) alpha:1.0f];
}




12. 对图片进行滤镜处理
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
#pragma mark - 对图片进行滤镜处理
// 怀旧 --> CIPhotoEffectInstant                         单色 --> CIPhotoEffectMono
// 黑白 --> CIPhotoEffectNoir                            褪色 --> CIPhotoEffectFade
// 色调 --> CIPhotoEffectTonal                           冲印 --> CIPhotoEffectProcess
// 岁月 --> CIPhotoEffectTransfer                        铬黄 --> CIPhotoEffectChrome
// CILinearToSRGBToneCurve, CISRGBToneCurveToLinear, CIGaussianBlur, CIBoxBlur, CIDiscBlur, CISepiaTone, CIDepthOfField
+ (UIImage *)filterWithOriginalImage:(UIImage *)image filterName:( NSString *)name{
     CIContext *context = [CIContext contextWithOptions: nil ];
     CIImage *inputImage = [[CIImage alloc] initWithImage:image];
     CIFilter *filter = [CIFilter filterWithName:name];
     [filter setValue:inputImage forKey:kCIInputImageKey];
     CIImage *result = [filter valueForKey:kCIOutputImageKey];
     CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];
     UIImage *resultImage = [UIImage imageWithCGImage:cgImage];
     CGImageRelease(cgImage);
     return resultImage;
}




13. 对图片进行模糊处理
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma mark - 对图片进行模糊处理
// CIGaussianBlur ---> 高斯模糊
// CIBoxBlur      ---> 均值模糊(Available in iOS 9.0 and later)
// CIDiscBlur     ---> 环形卷积模糊(Available in iOS 9.0 and later)
// CIMedianFilter ---> 中值模糊, 用于消除图像噪点, 无需设置radius(Available in iOS 9.0 and later)
// CIMotionBlur   ---> 运动模糊, 用于模拟相机移动拍摄时的扫尾效果(Available in iOS 9.0 and later)
+ (UIImage *)blurWithOriginalImage:(UIImage *)image blurName:( NSString *)name radius:( NSInteger )radius{
     CIContext *context = [CIContext contextWithOptions: nil ];
     CIImage *inputImage = [[CIImage alloc] initWithImage:image];
     CIFilter *filter;
     if (name.length != 0) {
         filter = [CIFilter filterWithName:name];
         [filter setValue:inputImage forKey:kCIInputImageKey];
         if (![name isEqualToString: @"CIMedianFilter" ]) {
             [filter setValue:@(radius) forKey: @"inputRadius" ];
         }
         CIImage *result = [filter valueForKey:kCIOutputImageKey];
         CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];
         UIImage *resultImage = [UIImage imageWithCGImage:cgImage];
         CGImageRelease(cgImage);
         return resultImage;
     } else {
         return nil ;
     }
}





14. 调整图片饱和度、亮度、对比度
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
  *  调整图片饱和度, 亮度, 对比度
  *
  *  @param image      目标图片
  *  @param saturation 饱和度
  *  @param brightness 亮度: -1.0 ~ 1.0
  *  @param contrast   对比度
  *
  */
+ (UIImage *)colorControlsWithOriginalImage:(UIImage *)image
                                  saturation:(CGFloat)saturation
                                  brightness:(CGFloat)brightness
                                    contrast:(CGFloat)contrast{
     CIContext *context = [CIContext contextWithOptions: nil ];
     CIImage *inputImage = [[CIImage alloc] initWithImage:image];
     CIFilter *filter = [CIFilter filterWithName: @"CIColorControls" ];
     [filter setValue:inputImage forKey:kCIInputImageKey];
 
     [filter setValue:@(saturation) forKey: @"inputSaturation" ];
     [filter setValue:@(brightness) forKey: @"inputBrightness" ]; // 0.0 ~ 1.0
     [filter setValue:@(contrast) forKey: @"inputContrast" ];
 
     CIImage *result = [filter valueForKey:kCIOutputImageKey];
     CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];
     UIImage *resultImage = [UIImage imageWithCGImage:cgImage];
     CGImageRelease(cgImage);
     return resultImage;
}





15. 创建一张实时模糊效果 View (毛玻璃效果)
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
//Avilable in iOS 8.0 and later
+ (UIVisualEffectView *)effectViewWithFrame:(CGRect)frame{
     UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
     UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
     effectView.frame = frame;
     return effectView;
}




16. 全屏截图
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
9
//全屏截图
+ (UIImage *)shotScreen{
     UIWindow *window = [UIApplication sharedApplication].keyWindow;
     UIGraphicsBeginImageContext(window.bounds.size);
     [window.layer renderInContext:UIGraphicsGetCurrentContext()];
     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();
     return image;
}






17. 截取一张 view 生成图片
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
//截取view生成一张图片
+ (UIImage *)shotWithView:(UIView *)view{
     UIGraphicsBeginImageContext(view.bounds.size);
     [view.layer renderInContext:UIGraphicsGetCurrentContext()];
     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();
     return image;
}





18. 截取view中某个区域生成一张图片
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
//截取view中某个区域生成一张图片
+ (UIImage *)shotWithView:(UIView *)view scope:(CGRect)scope{
     CGImageRef imageRef = CGImageCreateWithImageInRect([ self shotWithView:view].CGImage, scope);
     UIGraphicsBeginImageContext(scope.size);
     CGContextRef context = UIGraphicsGetCurrentContext();
     CGRect rect = CGRectMake(0, 0, scope.size.width, scope.size.height);
     CGContextTranslateCTM(context, 0, rect.size.height); //下移
     CGContextScaleCTM(context, 1.0f, -1.0f); //上翻
     CGContextDrawImage(context, rect, imageRef);
     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();
     CGImageRelease(imageRef);
     CGContextRelease(context);
     return image;
}






19. 压缩图片到指定尺寸大小
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
//压缩图片到指定尺寸大小
+ (UIImage *)compressOriginalImage:(UIImage *)image toSize:(CGSize)size{
     UIImage *resultImage = image;
     UIGraphicsBeginImageContext(size);
     [resultImage drawInRect:CGRectMake(0, 0, size.width, size.height)];
     UIGraphicsEndImageContext();
     return resultImage;
}







20. 压缩图片到指定文件大小
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
//压缩图片到指定文件大小
+ ( NSData *)compressOriginalImage:(UIImage *)image toMaxDataSizeKBytes:(CGFloat)size{
     NSData *data = UIImageJPEGRepresentation(image, 1.0);
     CGFloat dataKBytes = data.length/1000.0;
     CGFloat maxQuality = 0.9f;
     CGFloat lastData = dataKBytes;
     while (dataKBytes > size && maxQuality > 0.01f) {
         maxQuality = maxQuality - 0.01f;
         data = UIImageJPEGRepresentation(image, maxQuality);
         dataKBytes = data.length/1000.0;
         if (lastData == dataKBytes) {
             break ;
         } else {
             lastData = dataKBytes;
         }
     }
     return data;
}




21. 获取设备 IP 地址
需要先引入下头文件:
[Objective-C]  查看源文件  复制代码
?
1
2
#import <ifaddrs.h>
#import <arpa/inet.h>

代码:
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
//获取设备 IP 地址
+ ( NSString *)getIPAddress {
     NSString *address = @"error" ;
     struct ifaddrs *interfaces = NULL ;
     struct ifaddrs *temp_addr = NULL ;
     int success = 0;
     success = getifaddrs(&interfaces);
     if (success == 0) {
         temp_addr = interfaces;
         while (temp_addr != NULL ) {
             if (temp_addr->ifa_addr->sa_family == AF_INET) {
                 if ([[ NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString: @"en0" ]) {
                     address = [ NSString stringWithUTF8String:inet_ntoa((( struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                 }
             }
             temp_addr = temp_addr->ifa_next;
         }
     }
     freeifaddrs(interfaces);
     return address;
}



22. 判断字符串中是否含有空格
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
+ ( BOOL )isHaveSpaceInString:( NSString *)string{
     NSRange _range = [string rangeOfString: @" " ];
     if (_range.location != NSNotFound ) {
         return YES ;
     } else {
         return NO ;
     }
}





23. 判断字符串中是否含有某个字符串
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
+ ( BOOL )isHaveString:( NSString *)string1 InString:( NSString *)string2{
     NSRange _range = [string2 rangeOfString:string1];
     if (_range.location != NSNotFound ) {
         return YES ;
     } else {
         return NO ;
     }
}






24. 判断字符串中是否含有中文
[Objective-C]  查看源文件  复制代码
?
1
2
3
4
5
6
7
8
9
+ ( BOOL )isHaveChineseInString:( NSString *)string{
     for ( NSInteger i = 0; i < [string length]; i++){
         int a = [string characterAtIndex:i];
         if (a > 0x4e00 && a < 0x9fff) {
             return YES ;
         }
     }
     return NO ;
}




25. 判断字符串是否全部为数字
[Objective-C]  查看源文件  复制代码
?
01
02
03
04
05
06
07
08
09
10
+ ( BOOL )isAllNum:( NSString *)string{
     unichar c;
     for ( int i=0; i<string.length; i++) {
         c=[string characterAtIndex:i];
         if (!isdigit(c)) {
             return NO ;
         }
     }
     return YES ;
}




26. 绘制虚线
[Objective-C]  查看源文件  复制代码
?


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值