这几天看项目,把俺旁边小哥哥的一个工具类相中了,希望对大家有所帮助哦~~~~~~~~~

  1. //
  2. // PLZ_Tool.h
  3. // //
  4. // Created by penglaizhi on 2017/7/3.
  5. // Copyright © 2017年 yst-fll. All rights reserved.
  6. //
  7.  
  8. #import <Foundation/Foundation.h>
  9. #import <ifaddrs.h>
  10. #import <arpa/inet.h>
  11. #import <net/if.h>
  12.  
  13. #define IOS_CELLULAR @"pdp_ip0"
  14. #define IOS_WIFI @"en0"
  15. #define IOS_VPN @"utun0"
  16. #define IP_ADDR_IPv4 @"ipv4"
  17. #define IP_ADDR_IPv6 @"ipv6"
  18.  
  19. typedef void(^SuccessBlock)(id _Nullable data);
  20. typedef void(^FailBlock)(NSError * _Nullable error);
  21.  
  22. @interface PLZ_Tool : NSObject
  23. /**
  24. * 使用该函数计算时间戳
  25. * parameters : 不传参
  26. */
  27.  
  28. //+ (NSString*)getTimeDate:(NSString*)time_ format:(NSString*)format_;
  29.  
  30. /**
  31. * 使用该函数添加提示框下
  32. * parameters : 不传参
  33. */
  34. //+(void)showMessage:(NSString *)message;
  35. //
  36. ///**
  37. // * 使用该函数添加提示框上
  38. // * parameters : 不传参
  39. // */
  40. //+(void)showMessageUp:(NSString *)message;
  41.  
  42. /**
  43. * 使用该函数添加提示框上
  44. * parameters : 不传参
  45. */
  46. + (void)sendGETWithUrl:(NSString *_Nullable)url parameters:(NSDictionary *_Nullable)dict success:(SuccessBlock _Nullable )successBlock fail:(FailBlock _Nullable )failBlock;
  47.  
  48. + (void)sendPOSTWithUrl:(NSString *_Nullable)url parameters:(NSDictionary *_Nullable)dict success:(SuccessBlock _Nullable )successBlock fail:(FailBlock _Nullable )failBlock :(BOOL)isNeed;
  49.  
  50. /**
  51. * 判断是否有网
  52. * parameters : 不传参
  53. */
  54.  
  55. //+ (BOOL)isCheckNetwork;
  56.  
  57. /*
  58.  
  59. *
  60. *color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式
  61.  
  62. */
  63. + (UIColor *_Nullable)colorWithHexString:(NSString *_Nullable)color;
  64.  
  65. /*
  66.  
  67. *
  68. *color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式
  69.  
  70. */
  71. + (UIColor *_Nullable)colorWithHexString:(NSString *_Nullable)color alpha:(CGFloat)alpha;
  72.  
  73. + (NSString *_Nullable)filterEmoji:(NSString *_Nullable)string;
  74.  
  75. + (NSMutableAttributedString *_Nullable)String:(NSString *_Nullable)String RangeString:(NSString *_Nullable)RangeString;//富文本
  76.  
  77. +(void)p_makeupDataForDidLoad:(NSMutableArray *_Nullable)arr;
  78.  
  79. + (NSMutableAttributedString *_Nullable)String2:(NSString *_Nullable)String RangeString:(NSString *_Nullable)RangeString colorString:(NSString *_Nullable)colorString Size:(CGFloat)size;
  80. //邮箱正则
  81. + (BOOL) validateEmail:(NSString *_Nullable)email;
  82. + (BOOL) validateMobile:(NSString *_Nullable)mobileNum;
  83. + (NSInteger)getNowTimestamp;
  84. + (NSMutableAttributedString *_Nullable)String:(NSString *_Nullable)String SetRangeString:(NSString *_Nullable)RangeString setColor:(UIColor *_Nullable)Color SetFont:(UIFont *_Nullable)Font;
  85. //毫秒转成date
  86. + (NSString *_Nullable)ConvertStrToTime:(NSString *_Nullable)timeStr;
  87.  
  88. //字符串判空
  89. +(NSInteger)GetContentBackStyleToString:(NSString *_Nullable)string;
  90.  
  91. //过滤表情
  92. + (BOOL)stringContainsEmoji:(NSString *_Nullable)string;
  93. -(void)textFiledEditChangedN:(UITextField *_Nullable)field lenth:(CGFloat)lenth;
  94.  
  95. -(void)textViewEditChangedN:(UITextView *_Nullable)textView lenth:(CGFloat)lenth;
  96.  
  97. //获取ip地址
  98. + (NSString *_Nullable)getIPAddress:(BOOL)preferIPv4;
  99. + (NSString *_Nullable)deviceIPAdress;
  100. + (BOOL)isMobileNumber:(NSString *_Nullable)mobileNum;
  101.  
  102. +(NSString *)stringAddStarsWithString:(NSString *_Nullable)string;
  103.  
  104. //生成二维码
  105. //+ (UIImage *)creatNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat)size;
  106. +(NSString *)countdownStartTime:(NSString *)startTime;
  107. @end
  1. //
  2. // PLZ_Tool.m
  3. // //
  4. // Created by penglaizhi on 2017/7/3.
  5. // Copyright © 2017年 yst-fll. All rights reserved.
  6. //
  7.  
  8. #import "PLZ_Tool.h"
  9. #import "AppDelegate.h"
  10.  
  11. @implementation PLZ_Tool
  12. /**
  13. * 使用该函数计算时间戳
  14. * parameters : 不传参
  15. */
  16.  
  17. //+(void)showMessage:(NSString *)message
  18. //{
  19. // UIWindow * window = [UIApplication sharedApplication].keyWindow;
  20. // __block UIView *showview = [[UIView alloc]init];
  21. // showview.backgroundColor = [UIColor blackColor];
  22. // showview.frame = CGRectMake(1, 1, 1, 1);
  23. // showview.alpha = 1.0f;
  24. // showview.layer.cornerRadius = 5.0f;
  25. // showview.layer.masksToBounds = YES;
  26. // [window addSubview:showview];
  27. //
  28. // UILabel *label = [[UILabel alloc]init];
  29. //
  30. // NSDictionary *attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
  31. //
  32. // CGSize LabelSize = [message boundingRectWithSize:CGSizeMake(290, 9000)
  33. // options: NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
  34. // attributes:attribute context:nil].size;
  35. //
  36. // label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
  37. // label.text = message;
  38. // label.textColor = [UIColor whiteColor];
  39. // label.textAlignment = 1;
  40. // label.backgroundColor = [UIColor clearColor];
  41. // label.font = [UIFont boldSystemFontOfSize:15];
  42. // [showview addSubview:label];
  43. // showview.frame = CGRectMake((kScreenWidth - LabelSize.width - 20)/2, kScreenHeight - 100, LabelSize.width+20, LabelSize.height+10);
  44. // [UIView animateWithDuration:2.5 animations:^{
  45. // showview.alpha = 0;
  46. // } completion:^(BOOL finished) {
  47. // [showview removeFromSuperview];
  48. // showview = nil;
  49. // }];
  50. //}
  51. //
  52. //+(void)showMessageUp:(NSString *)message
  53. //{
  54. // UIWindow * window = [UIApplication sharedApplication].keyWindow;
  55. // UIView *showview = [[UIView alloc]init];
  56. // showview.backgroundColor = [UIColor blackColor];
  57. // showview.frame = CGRectMake(1, 1, 1, 1);
  58. // showview.alpha = 1.0f;
  59. // showview.layer.cornerRadius = 5.0f;
  60. // showview.layer.masksToBounds = YES;
  61. // [window addSubview:showview];
  62. //
  63. // UILabel *label = [[UILabel alloc]init];
  64. // NSDictionary *attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
  65. //
  66. // CGSize LabelSize = [message boundingRectWithSize:CGSizeMake(290, 9000)
  67. // options: NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
  68. // attributes:attribute context:nil].size;
  69. // label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
  70. // label.text = message;
  71. // label.textColor = [UIColor whiteColor];
  72. // label.textAlignment = 1;
  73. // label.backgroundColor = [UIColor clearColor];
  74. // label.font = [UIFont boldSystemFontOfSize:15];
  75. // [showview addSubview:label];
  76. // showview.frame = CGRectMake((kScreenWidth - LabelSize.width - 20)/2, 100, LabelSize.width+20, LabelSize.height+10);
  77. // [UIView animateWithDuration:2.5 animations:^{
  78. // showview.alpha = 0;
  79. // } completion:^(BOOL finished) {
  80. // [showview removeFromSuperview];
  81. // }];
  82. //}
  83.  
  84. //网络请求数据
  85. +(void)sendPOSTWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock :(BOOL)isNeed
  86. {
  87. if (isNeed) {
  88. [JHHJView showLoadingOnTheKeyWindowWithType:JQXLoading];
  89.  
  90. }
  91. // if ([NetworkTool getNetworkStatus] == NotReachable) {
  92. //// UIViewController *VC = [LFYCommonTool getCurrentVC];
  93. //// [ALToastView toastInView:VC.view withText:@"网络无法连接,请稍后再试"];
  94. // }else{
  95. //加签方法
  96. // NSString *url1 = [url substringFromIndex:26];//本地
  97. // NSString *url1 = [url substringFromIndex:27];//测试
  98. NSMutableDictionary * dic = [EncryptTool encryptParamter:dict withUrl:url];
  99.  
  100. NSString *url1 = [url substringFromIndex:];//正式
  101. // dict = [YSTFileManageTool encryptChangeDic2:dict AndUrl:url1];
  102. AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  103. AFHTTPSessionManager *manager = [app sharedHTTPSession];
  104.  
  105. // AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  106.  
  107. manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  108. manager.requestSerializer.timeoutInterval = ;
  109.  
  110. // if (kTOKEN) {
  111. // [manager.requestSerializer setValue:[NSString stringWithFormat:@"Bearer %@",kTOKEN] forHTTPHeaderField:@"Authorization"];
  112. // }
  113. // NSLog(@"%@------==-----%@0-0%@--9%@",kTOKEN,url1,url,dict);
  114.  
  115. manager.requestSerializer.timeoutInterval = ;
  116. // manager.responseSerializer=[AFJSONResponseSerializer serializer];
  117. // manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/xml",@"text/html",@"text/xml",@"text/plain",@"application/json",nil];
  118. manager.responseSerializer=[AFHTTPResponseSerializer serializer];
  119. NSLog(@"%@",url);
  120. // NSDictionary *Dic = [EncryptTool encryptParamter:dict withUrl:url];
  121. [manager POST:url parameters:dic success:^(NSURLSessionDataTask *task, id responseObject) {
  122.  
  123. [JHHJView hideLoading];
  124. NSDictionary *dic_ = [NSJSONSerialization JSONObjectWithData:responseObject options: error:nil];
  125. successBlock(dic_);
  126. NSLog(@"QJGlobalAFN>>dic = %@",dic_);
  127. // [NSObject creatPropertyCodeWithDictionary:dic_];
  128.  
  129. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  130. [JHHJView hideLoading];
  131. failBlock(error);
  132. NSLog(@"QJGlobalAFN>>error = %@",error);
  133. // [JHHJView hideLoading];
  134.  
  135. }];
  136.  
  137. // }
  138.  
  139. // AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  140. // //申明返回的是JSON数据
  141. // manager.responseSerializer = [AFJSONResponseSerializer serializer];
  142. // //申明请求的数据是json类型
  143. // // manager.requestSerializer=[AFJSONRequestSerializer serializer];
  144. // //如果报接受类型不一致请替换一致text/html/plain或别的
  145. // manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];
  146. // manager.requestSerializer.timeoutInterval = 10.0;//超时
  147. //
  148. //
  149. // [manager POST:url parameters:dict
  150. //
  151. // success:^(AFHTTPRequestOperation *operation,NSDictionary * responseObject) {
  152. //
  153. // successBlock(responseObject);
  154. // }failure:^(AFHTTPRequestOperation *operation,NSError *error) {
  155. //
  156. // failBlock(error);
  157. // }];
  158.  
  159. }
  160.  
  161. //网络请求数据
  162. + (void)sendGETWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
  163. {
  164. [JHHJView showLoadingOnTheKeyWindowWithType:JQXLoading];
  165. AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  166. AFHTTPSessionManager *manager = [app sharedHTTPSession];
  167. // NSString *url1 = [url substringFromIndex:27];//测试
  168. NSString *url1 = [url substringFromIndex:];//正式
  169. // NSString *url1 = [url substringFromIndex:26];//本地
  170.  
  171. // dict = [YSTFileManageTool encryptChangeDic2:dict AndUrl:url1];
  172.  
  173. // NSLog(@"%@^^^^^^^^^^",dict);
  174.  
  175. // manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  176. // [manager.requestSerializer setValue:[NSString stringWithFormat:@"YTX-C;ios %@;%@;v%@",[UIDevice systemVersion],CUREENRBUILD,CUREENRVERSION] forHTTPHeaderField:@"User-Agent"];
  177.  
  178. // if (kTOKEN) {
  179. // [manager.requestSerializer setValue:[NSString stringWithFormat:@"Bearer %@",kTOKEN] forHTTPHeaderField:@"Authorization"];
  180. // }
  181. manager.requestSerializer.timeoutInterval = ;
  182.  
  183. manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/xml",@"text/html",@"text/xml",@"text/plain",@"application/json",nil];
  184.  
  185. manager.responseSerializer=[AFHTTPResponseSerializer serializer];
  186.  
  187. [manager GET:url parameters:dict success:^(NSURLSessionDataTask *task, id responseObject) {
  188. [JHHJView hideLoading];
  189. NSDictionary *dic_ = [NSJSONSerialization JSONObjectWithData:responseObject options: error:nil];
  190. successBlock(dic_);
  191. NSLog(@"
  192. ios - 工具类的更多相关文章

      1. 【IOS工具类】IOS9的CoreSpotlight(OC语言)
      1. 什么是CoreSpotlight?就是在IOS9下.让用户在下拉的搜索页面里能够搜索到你的应用. #import <Foundation/Foundation.h> @interface ...

      1. 【IOS工具类】获得设备唯一标识(兼容IOS5,6,7)
      1. UIDevice+IdentifierAddition.h: #import <Foundation/Foundation.h> @interface UIDevice (Identifi ...

      1. iOS开发拓展篇—封装音频文件播放工具类
      1. iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...

      1. IOS开发--常用工具类收集整理(Objective-C)(持续更新)
      1. 前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...

      1. ios Base64编解码工具类及使用
      1. 为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输. 对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可 ...

      1. iOS开发——生成二维码——工具类
      1. 啥也不说,直接上源码,拷过去就能用.生成二维码的工具类使用方法在ProduceQRCode.h里有示例说明 分别将下面的ProduceQRCode.h和ProduceQRCode.m对应的代码考到自己 ...

      1. 【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类
      1. 背景 即使到今天,iOS 应用的内存泄露检测,仍然是一个很重要的主题.我在一年前,项目中随手写过一个简单的工具类,当时的确解决了大问题.视图和控制器相关的内存泄露,几乎都不存在了.后来想着一直就那个工 ...

      1. ios第三方库和工具类
      1. 下面的是使用苹果电脑后,自己的一下积累吧.有好用的第三方库和工具,肯定会第一时间和大家分享的. 自己平时写的一些分类和工具库 SSTools已经在github上面开始更新了,欢迎大家来指正和补充 一. ...

      1. iOS开发--换肤简单实现以及工具类的抽取
      1. 一.根据美工提供的图片,可以有两种换肤的方案. <1>美工提供图片的类型一: <2>美工提供图片的类型二:这种分了文件夹文件名都一样的情况,拖入项目后最后用真实文件夹(蓝色文件 ...

    1.  
    2. 随机推荐

        1. Dynemic Web Project中使用servlet的 doGet()方法接收来自浏览器客户端发送的add学生信息形成json字符串输出到浏览器并保存到本地磁盘文件
        1. package com.swift.servlet; import java.io.FileOutputStream;import java.io.IOException;import java.io ...

        1. 实用小工具不定期合集(textarea 高度自适应、自动计算Y轴刻度、json转table)
        1. 1.textarea高度自适应 这个非常有用,但是网上的解决方案都不尽人意,话不多说,上代码. function auto (elem) { var minHeight = 30 var change ...

        1. Mysql之1451 - Cannot delete or update a parent row: a foreign key constraint fails...解决办法记录
        1. 今天使用delete语句删除一张表中的一条信息时,提示了这么一个错误:1451 - Cannot delete or update a parent row: a foreign key constr ...

        1. 数据库引擎InnoDB和myisam的区别和联系
        1. 1.ENGINE=InnoDB 数据库存储引擎,DEFAULT 默认,CHARSET=utf8 数据库字符编码 2.数据库的存储引擎, mysql中engine=innodb和engine=myisa ...

        1. python虚拟环境 virtualenv工具
        1. 为了隔离各类环境,保证环境间不冲突,python中存在虚拟环境,可以在一个文件夹里生成相应的环境,防止与python自带环境冲突 首先我们下载virtualenv,若你未安装python,应到pyth ...

        1. Python 文件读写 文件和路径
        1. 1.在Windows上,使用倒斜杆作为文件夹之间的分隔符,在Linux上,使用正斜杠作为路径分隔符.在编写Python脚本时,可以os.path.join()函数来处理 在Windows环境下命令如下 ...

        1. Node 操作MySql数据库
        1. 1, 需要安装 MySQL 依赖 =>  npm i mysql -D 2, 封装一个工具类 mysql-util.js // 引入 mysql 数据库连接依赖 const mysql = re ...

        1. python面试题Python2.x和Python3.x的区别
        1. 所属网站分类: 面试经典 > python 作者:外星人入侵 原文链接: http://www.pythonheidong.com/blog/article/22/ 来源:python黑洞网 w ...

        1. Python Map, Filter and Reduce
        1. 所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...

        1. Git-Git基本操作
        1. 先来合个影 马上就要和之前实践遗留的数据告别了,告别之前是不是要留个影呢?在Git里,"留影"用的命令叫做tag,更加专业的术语叫做"里程碑"(打tag,或打标 ...