ios - 工具类
这几天看项目,把俺旁边小哥哥的一个工具类相中了,希望对大家有所帮助哦~~~~~~~~~
- //
- // PLZ_Tool.h
- // //
- // Created by penglaizhi on 2017/7/3.
- // Copyright © 2017年 yst-fll. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <ifaddrs.h>
- #import <arpa/inet.h>
- #import <net/if.h>
- #define IOS_CELLULAR @"pdp_ip0"
- #define IOS_WIFI @"en0"
- #define IOS_VPN @"utun0"
- #define IP_ADDR_IPv4 @"ipv4"
- #define IP_ADDR_IPv6 @"ipv6"
- typedef void(^SuccessBlock)(id _Nullable data);
- typedef void(^FailBlock)(NSError * _Nullable error);
- @interface PLZ_Tool : NSObject
- /**
- * 使用该函数计算时间戳
- * parameters : 不传参
- */
- //+ (NSString*)getTimeDate:(NSString*)time_ format:(NSString*)format_;
- /**
- * 使用该函数添加提示框下
- * parameters : 不传参
- */
- //+(void)showMessage:(NSString *)message;
- //
- ///**
- // * 使用该函数添加提示框上
- // * parameters : 不传参
- // */
- //+(void)showMessageUp:(NSString *)message;
- /**
- * 使用该函数添加提示框上
- * parameters : 不传参
- */
- + (void)sendGETWithUrl:(NSString *_Nullable)url parameters:(NSDictionary *_Nullable)dict success:(SuccessBlock _Nullable )successBlock fail:(FailBlock _Nullable )failBlock;
- + (void)sendPOSTWithUrl:(NSString *_Nullable)url parameters:(NSDictionary *_Nullable)dict success:(SuccessBlock _Nullable )successBlock fail:(FailBlock _Nullable )failBlock :(BOOL)isNeed;
- /**
- * 判断是否有网
- * parameters : 不传参
- */
- //+ (BOOL)isCheckNetwork;
- /*
- *
- *color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式
- */
- + (UIColor *_Nullable)colorWithHexString:(NSString *_Nullable)color;
- /*
- *
- *color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式
- */
- + (UIColor *_Nullable)colorWithHexString:(NSString *_Nullable)color alpha:(CGFloat)alpha;
- + (NSString *_Nullable)filterEmoji:(NSString *_Nullable)string;
- + (NSMutableAttributedString *_Nullable)String:(NSString *_Nullable)String RangeString:(NSString *_Nullable)RangeString;//富文本
- +(void)p_makeupDataForDidLoad:(NSMutableArray *_Nullable)arr;
- + (NSMutableAttributedString *_Nullable)String2:(NSString *_Nullable)String RangeString:(NSString *_Nullable)RangeString colorString:(NSString *_Nullable)colorString Size:(CGFloat)size;
- //邮箱正则
- + (BOOL) validateEmail:(NSString *_Nullable)email;
- + (BOOL) validateMobile:(NSString *_Nullable)mobileNum;
- + (NSInteger)getNowTimestamp;
- + (NSMutableAttributedString *_Nullable)String:(NSString *_Nullable)String SetRangeString:(NSString *_Nullable)RangeString setColor:(UIColor *_Nullable)Color SetFont:(UIFont *_Nullable)Font;
- //毫秒转成date
- + (NSString *_Nullable)ConvertStrToTime:(NSString *_Nullable)timeStr;
- //字符串判空
- +(NSInteger)GetContentBackStyleToString:(NSString *_Nullable)string;
- //过滤表情
- + (BOOL)stringContainsEmoji:(NSString *_Nullable)string;
- -(void)textFiledEditChangedN:(UITextField *_Nullable)field lenth:(CGFloat)lenth;
- -(void)textViewEditChangedN:(UITextView *_Nullable)textView lenth:(CGFloat)lenth;
- //获取ip地址
- + (NSString *_Nullable)getIPAddress:(BOOL)preferIPv4;
- + (NSString *_Nullable)deviceIPAdress;
- + (BOOL)isMobileNumber:(NSString *_Nullable)mobileNum;
- +(NSString *)stringAddStarsWithString:(NSString *_Nullable)string;
- //生成二维码
- //+ (UIImage *)creatNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat)size;
- +(NSString *)countdownStartTime:(NSString *)startTime;
- @end
- //
- // PLZ_Tool.m
- // //
- // Created by penglaizhi on 2017/7/3.
- // Copyright © 2017年 yst-fll. All rights reserved.
- //
- #import "PLZ_Tool.h"
- #import "AppDelegate.h"
- @implementation PLZ_Tool
- /**
- * 使用该函数计算时间戳
- * parameters : 不传参
- */
- //+(void)showMessage:(NSString *)message
- //{
- // UIWindow * window = [UIApplication sharedApplication].keyWindow;
- // __block UIView *showview = [[UIView alloc]init];
- // showview.backgroundColor = [UIColor blackColor];
- // showview.frame = CGRectMake(1, 1, 1, 1);
- // showview.alpha = 1.0f;
- // showview.layer.cornerRadius = 5.0f;
- // showview.layer.masksToBounds = YES;
- // [window addSubview:showview];
- //
- // UILabel *label = [[UILabel alloc]init];
- //
- // NSDictionary *attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
- //
- // CGSize LabelSize = [message boundingRectWithSize:CGSizeMake(290, 9000)
- // options: NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
- // attributes:attribute context:nil].size;
- //
- // label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
- // label.text = message;
- // label.textColor = [UIColor whiteColor];
- // label.textAlignment = 1;
- // label.backgroundColor = [UIColor clearColor];
- // label.font = [UIFont boldSystemFontOfSize:15];
- // [showview addSubview:label];
- // showview.frame = CGRectMake((kScreenWidth - LabelSize.width - 20)/2, kScreenHeight - 100, LabelSize.width+20, LabelSize.height+10);
- // [UIView animateWithDuration:2.5 animations:^{
- // showview.alpha = 0;
- // } completion:^(BOOL finished) {
- // [showview removeFromSuperview];
- // showview = nil;
- // }];
- //}
- //
- //+(void)showMessageUp:(NSString *)message
- //{
- // UIWindow * window = [UIApplication sharedApplication].keyWindow;
- // UIView *showview = [[UIView alloc]init];
- // showview.backgroundColor = [UIColor blackColor];
- // showview.frame = CGRectMake(1, 1, 1, 1);
- // showview.alpha = 1.0f;
- // showview.layer.cornerRadius = 5.0f;
- // showview.layer.masksToBounds = YES;
- // [window addSubview:showview];
- //
- // UILabel *label = [[UILabel alloc]init];
- // NSDictionary *attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
- //
- // CGSize LabelSize = [message boundingRectWithSize:CGSizeMake(290, 9000)
- // options: NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
- // attributes:attribute context:nil].size;
- // label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
- // label.text = message;
- // label.textColor = [UIColor whiteColor];
- // label.textAlignment = 1;
- // label.backgroundColor = [UIColor clearColor];
- // label.font = [UIFont boldSystemFontOfSize:15];
- // [showview addSubview:label];
- // showview.frame = CGRectMake((kScreenWidth - LabelSize.width - 20)/2, 100, LabelSize.width+20, LabelSize.height+10);
- // [UIView animateWithDuration:2.5 animations:^{
- // showview.alpha = 0;
- // } completion:^(BOOL finished) {
- // [showview removeFromSuperview];
- // }];
- //}
- //网络请求数据
- +(void)sendPOSTWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock :(BOOL)isNeed
- {
- if (isNeed) {
- [JHHJView showLoadingOnTheKeyWindowWithType:JQXLoading];
- }
- // if ([NetworkTool getNetworkStatus] == NotReachable) {
- //// UIViewController *VC = [LFYCommonTool getCurrentVC];
- //// [ALToastView toastInView:VC.view withText:@"网络无法连接,请稍后再试"];
- // }else{
- //加签方法
- // NSString *url1 = [url substringFromIndex:26];//本地
- // NSString *url1 = [url substringFromIndex:27];//测试
- NSMutableDictionary * dic = [EncryptTool encryptParamter:dict withUrl:url];
- NSString *url1 = [url substringFromIndex:];//正式
- // dict = [YSTFileManageTool encryptChangeDic2:dict AndUrl:url1];
- AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- AFHTTPSessionManager *manager = [app sharedHTTPSession];
- // AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
- manager.responseSerializer = [AFHTTPResponseSerializer serializer];
- manager.requestSerializer.timeoutInterval = ;
- // if (kTOKEN) {
- // [manager.requestSerializer setValue:[NSString stringWithFormat:@"Bearer %@",kTOKEN] forHTTPHeaderField:@"Authorization"];
- // }
- // NSLog(@"%@------==-----%@0-0%@--9%@",kTOKEN,url1,url,dict);
- manager.requestSerializer.timeoutInterval = ;
- // manager.responseSerializer=[AFJSONResponseSerializer serializer];
- // manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/xml",@"text/html",@"text/xml",@"text/plain",@"application/json",nil];
- manager.responseSerializer=[AFHTTPResponseSerializer serializer];
- NSLog(@"%@",url);
- // NSDictionary *Dic = [EncryptTool encryptParamter:dict withUrl:url];
- [manager POST:url parameters:dic success:^(NSURLSessionDataTask *task, id responseObject) {
- [JHHJView hideLoading];
- NSDictionary *dic_ = [NSJSONSerialization JSONObjectWithData:responseObject options: error:nil];
- successBlock(dic_);
- NSLog(@"QJGlobalAFN>>dic = %@",dic_);
- // [NSObject creatPropertyCodeWithDictionary:dic_];
- } failure:^(NSURLSessionDataTask *task, NSError *error) {
- [JHHJView hideLoading];
- failBlock(error);
- NSLog(@"QJGlobalAFN>>error = %@",error);
- // [JHHJView hideLoading];
- }];
- // }
- // AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
- // //申明返回的是JSON数据
- // manager.responseSerializer = [AFJSONResponseSerializer serializer];
- // //申明请求的数据是json类型
- // // manager.requestSerializer=[AFJSONRequestSerializer serializer];
- // //如果报接受类型不一致请替换一致text/html/plain或别的
- // manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];
- // manager.requestSerializer.timeoutInterval = 10.0;//超时
- //
- //
- // [manager POST:url parameters:dict
- //
- // success:^(AFHTTPRequestOperation *operation,NSDictionary * responseObject) {
- //
- // successBlock(responseObject);
- // }failure:^(AFHTTPRequestOperation *operation,NSError *error) {
- //
- // failBlock(error);
- // }];
- }
- //网络请求数据
- + (void)sendGETWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
- {
- [JHHJView showLoadingOnTheKeyWindowWithType:JQXLoading];
- AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- AFHTTPSessionManager *manager = [app sharedHTTPSession];
- // NSString *url1 = [url substringFromIndex:27];//测试
- NSString *url1 = [url substringFromIndex:];//正式
- // NSString *url1 = [url substringFromIndex:26];//本地
- // dict = [YSTFileManageTool encryptChangeDic2:dict AndUrl:url1];
- // NSLog(@"%@^^^^^^^^^^",dict);
- // manager.responseSerializer = [AFHTTPResponseSerializer serializer];
- // [manager.requestSerializer setValue:[NSString stringWithFormat:@"YTX-C;ios %@;%@;v%@",[UIDevice systemVersion],CUREENRBUILD,CUREENRVERSION] forHTTPHeaderField:@"User-Agent"];
- // if (kTOKEN) {
- // [manager.requestSerializer setValue:[NSString stringWithFormat:@"Bearer %@",kTOKEN] forHTTPHeaderField:@"Authorization"];
- // }
- manager.requestSerializer.timeoutInterval = ;
- manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/xml",@"text/html",@"text/xml",@"text/plain",@"application/json",nil];
- manager.responseSerializer=[AFHTTPResponseSerializer serializer];
- [manager GET:url parameters:dict success:^(NSURLSessionDataTask *task, id responseObject) {
- [JHHJView hideLoading];
- NSDictionary *dic_ = [NSJSONSerialization JSONObjectWithData:responseObject options: error:nil];
- successBlock(dic_);
- NSLog(@"
ios - 工具类的更多相关文章
什么是CoreSpotlight?就是在IOS9下.让用户在下拉的搜索页面里能够搜索到你的应用. #import <Foundation/Foundation.h> @interface ...
UIDevice+IdentifierAddition.h: #import <Foundation/Foundation.h> @interface UIDevice (Identifi ...
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...
为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输. 对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可 ...
啥也不说,直接上源码,拷过去就能用.生成二维码的工具类使用方法在ProduceQRCode.h里有示例说明 分别将下面的ProduceQRCode.h和ProduceQRCode.m对应的代码考到自己 ...
背景 即使到今天,iOS 应用的内存泄露检测,仍然是一个很重要的主题.我在一年前,项目中随手写过一个简单的工具类,当时的确解决了大问题.视图和控制器相关的内存泄露,几乎都不存在了.后来想着一直就那个工 ...
下面的是使用苹果电脑后,自己的一下积累吧.有好用的第三方库和工具,肯定会第一时间和大家分享的. 自己平时写的一些分类和工具库 SSTools已经在github上面开始更新了,欢迎大家来指正和补充 一. ...
一.根据美工提供的图片,可以有两种换肤的方案. <1>美工提供图片的类型一: <2>美工提供图片的类型二:这种分了文件夹文件名都一样的情况,拖入项目后最后用真实文件夹(蓝色文件 ...
随机推荐
package com.swift.servlet; import java.io.FileOutputStream;import java.io.IOException;import java.io ...
1.textarea高度自适应 这个非常有用,但是网上的解决方案都不尽人意,话不多说,上代码. function auto (elem) { var minHeight = 30 var change ...
今天使用delete语句删除一张表中的一条信息时,提示了这么一个错误:1451 - Cannot delete or update a parent row: a foreign key constr ...
1.ENGINE=InnoDB 数据库存储引擎,DEFAULT 默认,CHARSET=utf8 数据库字符编码 2.数据库的存储引擎, mysql中engine=innodb和engine=myisa ...
为了隔离各类环境,保证环境间不冲突,python中存在虚拟环境,可以在一个文件夹里生成相应的环境,防止与python自带环境冲突 首先我们下载virtualenv,若你未安装python,应到pyth ...
1.在Windows上,使用倒斜杆作为文件夹之间的分隔符,在Linux上,使用正斜杠作为路径分隔符.在编写Python脚本时,可以os.path.join()函数来处理 在Windows环境下命令如下 ...
1, 需要安装 MySQL 依赖 => npm i mysql -D 2, 封装一个工具类 mysql-util.js // 引入 mysql 数据库连接依赖 const mysql = re ...
所属网站分类: 面试经典 > python 作者:外星人入侵 原文链接: http://www.pythonheidong.com/blog/article/22/ 来源:python黑洞网 w ...
所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...
先来合个影 马上就要和之前实践遗留的数据告别了,告别之前是不是要留个影呢?在Git里,"留影"用的命令叫做tag,更加专业的术语叫做"里程碑"(打tag,或打标 ...