1. 获取磁盘总空间大小

//磁盘总空间
+ (CGFloat)diskOfAllSizeMBytes{CGFloat size = 0.0;NSError *error;NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];if (error) {
#ifdef DEBUGNSLog(@"error: %@", error.localizedDescription);
#endif}else{NSNumber *number = [dic objectForKey:NSFileSystemSize];size = [number floatValue]/1024/1024;}return size;
}
复制代码

2. 获取磁盘可用空间大小

//磁盘可用空间
+ (CGFloat)diskOfFreeSizeMBytes{CGFloat size = 0.0;NSError *error;NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];if (error) {
#ifdef DEBUGNSLog(@"error: %@", error.localizedDescription);
#endif}else{NSNumber *number = [dic objectForKey:NSFileSystemFreeSize];size = [number floatValue]/1024/1024;}return size;
}
复制代码

3. 获取指定路径下某个文件的大小

//获取文件大小
+ (long long)fileSizeAtPath:(NSString *)filePath{NSFileManager *fileManager = [NSFileManager defaultManager];if (![fileManager fileExistsAtPath:filePath]) return 0;return [[fileManager attributesOfItemAtPath:filePath error:nil] fileSize];
}
复制代码

4. 获取文件夹下所有文件的大小

//获取文件夹下所有文件的大小
+ (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. 获取字符串(或汉字)首字母

//获取字符串(或汉字)首字母
+ (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. 将字符串数组按照元素首字母顺序进行排序分组

//将字符串数组按照元素首字母顺序进行排序分组
+ (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];
}
复制代码

使用如下:

NSArray *arr = @[@"guangzhou", @"shanghai", @"北京", @"henan", @"hainan"];
NSDictionary *dic = [Utilities dictionaryOrderByCharacterWithOriginalArray:arr];
NSLog(@"\n\ndic: %@", dic);
复制代码

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 分钟前等

/***  计算上次日期距离现在多久**  @param lastTime    上次日期(需要和格式对应)*  @param format1     上次日期格式*  @param currentTime 最近日期(需要和格式对应)*  @param format2     最近日期格式**  @return xx分钟前、xx小时前、xx天前*/
+ (NSString *)timeIntervalFromLastTime:(NSString *)lastTimelastTimeFormat:(NSString *)format1ToCurrentTime:(NSString *)currentTimecurrentTimeFormat:(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 @"";
}
复制代码

使用如下:

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. 判断手机号码格式是否正确

//判断手机号码格式是否正确
+ (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. 判断邮箱格式是否正确

//利用正则表达式验证
+ (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 对象

//将十六进制颜色转换为 UIColor 对象
+ (UIColor *)colorWithHexString:(NSString *)color{NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];// String should be 6 or 8 charactersif ([cString length] < 6) {return [UIColor clearColor];}// strip "0X" or "#" if it appearsif ([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 substringsNSRange range;range.location = 0;range.length = 2;//rNSString *rString = [cString substringWithRange:range];//grange.location = 2;NSString *gString = [cString substringWithRange:range];//brange.location = 4;NSString *bString = [cString substringWithRange:range];// Scan valuesunsigned 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. 对图片进行滤镜处理

#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. 对图片进行模糊处理

#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. 调整图片饱和度、亮度、对比度

/***  调整图片饱和度, 亮度, 对比度**  @param image      目标图片*  @param saturation 饱和度*  @param brightness 亮度: -1.0 ~ 1.0*  @param contrast   对比度**/
+ (UIImage *)colorControlsWithOriginalImage:(UIImage *)imagesaturation:(CGFloat)saturationbrightness:(CGFloat)brightnesscontrast:(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 (毛玻璃效果)

//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. 全屏截图

//全屏截图
+ (UIImage *)shotScreen{UIWindow *window = [UIApplication sharedApplication].keyWindow;UIGraphicsBeginImageContext(window.bounds.size);[window.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;
}
复制代码

17. 截取一张 view 生成图片

//截取view生成一张图片
+ (UIImage *)shotWithView:(UIView *)view{UIGraphicsBeginImageContext(view.bounds.size);[view.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;
}
复制代码

18. 截取view中某个区域生成一张图片

//截取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. 压缩图片到指定尺寸大小

//压缩图片到指定尺寸大小
+ (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. 压缩图片到指定文件大小

//压缩图片到指定文件大小
+ (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 地址 需要先引入下头文件:

#import <ifaddrs.h>
#import <arpa/inet.h>
复制代码
//获取设备 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. 判断字符串中是否含有空格

+ (BOOL)isHaveSpaceInString:(NSString *)string{NSRange _range = [string rangeOfString:@" "];if (_range.location != NSNotFound) {return YES;}else {return NO;}
}
复制代码

24. 判断字符串中是否含有中文

+ (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. 判断字符串是否全部为数字

+ (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. 绘制虚线

/*** lineFrame:     虚线的 frame** length:        虚线中短线的宽度** spacing:       虚线中短线之间的间距** color:         虚线中短线的颜色
*/
+ (UIView *)createDashedLineWithFrame:(CGRect)lineFramelineLength:(int)lengthlineSpacing:(int)spacinglineColor:(UIColor *)color{UIView *dashedLine = [[UIView alloc] initWithFrame:lineFrame];dashedLine.backgroundColor = [UIColor clearColor];CAShapeLayer *shapeLayer = [CAShapeLayer layer];[shapeLayer setBounds:dashedLine.bounds];[shapeLayer setPosition:CGPointMake(CGRectGetWidth(dashedLine.frame) / 2, CGRectGetHeight(dashedLine.frame))];[shapeLayer setFillColor:[UIColor clearColor].CGColor];[shapeLayer setStrokeColor:color.CGColor];[shapeLayer setLineWidth:CGRectGetHeight(dashedLine.frame)];[shapeLayer setLineJoin:kCALineJoinRound];[shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:length], [NSNumber numberWithInt:spacing], nil]];CGMutablePathRef path = CGPathCreateMutable();CGPathMoveToPoint(path, NULL, 0, 0);CGPathAddLineToPoint(path, NULL, CGRectGetWidth(dashedLine.frame), 0);[shapeLayer setPath:path];CGPathRelease(path);[dashedLine.layer addSublayer:shapeLayer];return dashedLine;
}
复制代码

转载于:https://juejin.im/post/5c1a0dfc5188257dc54ad7af

iOS 常用公共方法相关推荐

  1. ts引入公共方法_angular 封装公共方法

    angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...

  2. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  3. J2EE项目开发中常用到的公共方法

    在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...

  4. iOS常用快捷键/终端常用指令

    一 iOS常用快捷键 iOS常用快捷键 新建项目 com + shift +N 新建文件 com + N 偏好设置 通用 com + , 跳到指定行 com + L 当前行加断点 com + \ 向前 ...

  5. 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装

    为什么要封装公共方法 封装公共方法有2方面的原因: 一是功能方面的原因:有些方法很多地方都会用,而且它输入输出明确,并且跟业务逻辑无关.比如检查用户是否登录,检查某串数字是否为合法的手机号.像这种方法 ...

  6. web开发过程中经常用到的一些公共方法及操作

    进化成为程序猿也有段岁月了,所谓的经验,广度还是依旧,只不过是对于某种功能有了多种实现方式的想法.每天依旧不厌其烦的敲打着代码,每一行代码的回车似乎都有一种似曾相识的感觉.于是乎:粘贴复制,再粘贴再复 ...

  7. Python中高级变量类型(列表,元组,字典,字符串,公共方法...)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. Python(20)-高级数据类型的公共方法

    高级数据类型的公共方法 1内置函数 2高级数据类型切片 3运算符+,*,in 4完整的for循环 公共方法是列表,元组,字典,字符串都能使用的方法 1内置函数 内置函数:不需要import导入模块,就 ...

  9. php魔术方法 效率,PHP常用魔术方法的性能探究

    性能往往是衡量代码很重要的一个标准.我们日常编码中经常会用到一些魔术方法,这些PHP提供的魔术方法是否会影响我们程序的性能呢?是否需要减少魔术方法 的使用呢?本文将通过测试对比来了解魔术方法对性能的影 ...

最新文章

  1. vue 表格左右拖拽调整列宽_解决 | iview低版本实现表格拖拽,滚动条列宽计算问题...
  2. hmm 求隐藏序列_统计学习方法--HMM回顾
  3. 封装设置属性,一家人都要整整齐齐系列(1) JAVA泛型的实现原理
  4. 反思对新项目如何快速上手
  5. Android210更新2---支持喇叭
  6. java Math 方法
  7. Sentinel(三)之如何使用
  8. 重命名Jakarta EE的Java EE规范
  9. CCleaner 2.11.636 - 系统优化和隐私保护工具
  10. 逻辑回归与线性回归的区别
  11. 解决Python报错:local variable ‘xxxxx‘ referenced before assignment
  12. anaconda3安装_Ubuntu20.04安装配置Anaconda3
  13. 计算机应用基础 东师 离线,东师1609计算机应用基础离线作业(8页)-原创力文档...
  14. python合并多个excel代码_Python脚本合并多个Excel文件
  15. 浅谈css3长度单位rem,以及移动端布局技巧
  16. Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules
  17. devexpress TreeList递归及点击获取数据
  18. Word文档转/打印成PDF图片模糊问题解决
  19. RabbitMQ系列8 TTL 死信队列 延迟队列
  20. 用C++实现文件压缩

热门文章

  1. oracle从入门到精通_【论文】基于SPSS Modeler和Oracle的学生行为数据分析
  2. django redirect传递参数_Django中间件
  3. python字典定义方式_Python字典常用方法及汇总
  4. mac上java文件如何编译_如何在Mac上用Java编译和运行程序?
  5. bzoj 1753: [Usaco2005 qua]Who's in the Middle【排序】
  6. 第4课 - 深入浅出处理器(续)
  7. poj 2069 Super Star 模拟退火
  8. 怎么调用系统通讯录并向被选中联系人发送短信
  9. [转]Using The Entity Framework With WCF
  10. 寄存器、存储器、内存的区别