Skip to content

zhangjiang1203/MyOftenUseTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyOftenUseTool

Version License Platform Platform ###自己常用的一些封装方法和UIKIT,Foundation框架的category添加的方法

##Requirements 要求

  • iOS 8+
  • XCode 8+

#可以使用Cocoapods进行安装,有关于Cocoapods的安转和使用请参考Cocoapods,

Podfile

在你需要使用的项目中添加Podfile文件,

platform :ios, '8.0'

pod 'MyOftenUseTool'

#关于类库的一些使用说明 ##AFNetworking的封装,添加了YYCache缓存网络数据,网络数据存储在本地,根据请求的URL获取缓存的数据,并返回到相应的Block中,其中的方法参考YYCache的使用方法参考例子中,可以下载测试项目 首先添加的就是关于网络状态的检测,

/*
* 开启网络监测 YES 有网络  NO 没有联网
*/
+ (void)startMonitoring:(void(^)(BOOL isNet))netBlock;

/*
* 关闭网络监测
*/
+ (void)stopMonitoring;

对应的实现如下

+ (void)startMonitoring:(void(^)(BOOL isNet))netBlock{

    [[AFNetworkReachabilityManager sharedManager]startMonitoring];
    [[AFNetworkReachabilityManager sharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        [ZJAFNRequestTool shareRequestTool].workStatus = status;
        if (status == AFNetworkReachabilityStatusNotReachable) {
            //跳转到设置URL的地方
            netBlock(NO);
        }else{
            netBlock(YES);
        }
    }];
}

+(void)stopMonitoring{
    [[AFNetworkReachabilityManager sharedManager]stopMonitoring];
}

在文件中添加了请求返回和取消请求的操作,每个请求中返回值 NSURLSessionTask 可以根据这个来取消这个请求,请求中使用了YYCache来缓存对应的URL的请求数据,

/**
不带缓存的get请求
@param urlStr       请求的URL
@param params       请求参数
@param isShow       显示指示符
@param successBlock 成功的回调
@param failBlock    失败的回调
@return 返回的任务队列
*/
+(NSURLSessionTask*)getWithURL:(NSString*)urlStr
                         param:(NSDictionary*)params
                           hud:(BOOL)isShow
                       success:(RequestSuccessBlock)successBlock
                          fail:(RequestFailBlock)failBlock;


/**
带有缓存的get请求
@param urlStr       请求的URL
@param params       请求参数
@param isShow       显示指示符
@param cacheBlock   缓存block
@param successBlock 成功的回调
@param failBlock    失败的回调
@return 返回的任务队列
*/
+(NSURLSessionTask*)getWithURL:(NSString*)urlStr
                         param:(NSDictionary*)params
                           hud:(BOOL)isShow
                         cache:(RequestCache)cacheBlock
                       success:(RequestSuccessBlock)successBlock
                          fail:(RequestFailBlock)failBlock;

取消当前的网络请求的操作

   [ZJAFNRequestTool cancelRequest];

AFN请求中的封装还有post和put以及文件的上传和下载操作

##关于HUDHelper类的说明 这个类中涉及的方法使用比较杂,图像绘制,坐标转换,日期转换,判断空字符串和邮箱电话号码的正则表达式判断设置label的行间距,返回图文混排的文本,简单动画设定,计算文本的高度和数组字符串的一些处理方法等方法,具体的请看这个分类中的方法,都有注释的。

##关于ZJSystemUtils类的说明 此类中主要是获取一些系统的信息,存储用户登录的账号和密码

/**
*  手机型号  “iPhone 5”,“iPhone 4S”,"iPhone 4"
*/
+(NSString*)deviceString;
/**
*  获取ip地址
*/
+(NSString *)getIPAddress;
/**
*  是否有摄像头使用权限
*
*  @param authorized 有权限回调
*  @param restricted 无权限回调
*/
+(void)videoAuthorizationStatusAuthorized:(void(^)(void))authorized restricted:(void(^)(void))restricted;
/**
*  获取当前的显示的ViewController
*
*  @return 当前的显示的ViewController
*/
+ (UIViewController *)getCurrentViewController;

/**
*  获取当前版本号
*/
+(NSString*)getCurrentVersion;

/**
*  获取历史存储的版本号
*/
+(NSString*)getHistoryVersion;

/**
设置登录状态 0 退出登录  1 登录成功
*/
+(void)setLoginState:(BOOL)state;

/**
获取登录状态 0 没有登录 1 登录
*/
+(BOOL)getLoginState;


/**
*  判断是不是第一次登陆
*/
+(BOOL)judgeIsFirstLogin;


/**
*  存储登录账号的用户名和密码
*/
+(void)saveUserAccount:(NSString*)account password:(NSString*)password;

/**
*  获取用户密码
*/
+(NSString*)getUserPassword;

/**
*  获取用户账号
*/
+(NSString*)getUserAccount;

/**
*  获取设备标示
*/
+(NSString *)getDiviceIdentifier;

#pragma mark -应用程序需要事先申请音视频使用权限
+ (BOOL)requestMediaCapturerAccessWithCompletionHandler:(void (^)(BOOL value, NSError *error))handler;

/**
*  检查app是否有照片操作权限
*/
+(void)getAssetsAuthorizationStatus:(void (^)(BOOL isAuthorize,NSString *errorStr))authorizeBlock;

#pragma mark -获取当前连接的wifi名称

/**
获取当前连接的wifi名称
*/
+(NSString *)getWifiName;

/**
容量转换
@param fileSize 文件大小
@return 返回值
*/
+(NSString *)fileSizeToString:(unsigned long long)fileSize;

/**
获取电池的状态
*/
+(UIDeviceBatteryState)getBatteryStauts;

/**
获取电池的电量,用百分比表示
*/
+(CGFloat)getBatteryQuantity;

具体的实现请点击.m文件查看

##UIKit和Foundation+Category类 这两个类中是收集的一些kit和foundation框架中添加的一些拓展类的方法,ZJAlertViewController是我自己封装的一个alertView的一个简单使用

/**
*  设置弹出的alertView,已经适配ios9
*
*  @param title             标题
*  @param message           信息
*  @param cancelButtonTitle 取消按钮,@"",没有取消按钮
*  @param otherButtonTitles 其他按钮,@"",没有确定按钮
*  @param alertBlock        返回的block
*/
+ (void)alertShowTitle:(nullable NSString *)title message:(nullable NSString*)message cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles block:(nullable continueBlock)alertBlock;


/**
*  提示信息 有取消和确定两个按钮
*
*  @param message       内容
*  @param continueBlock 确定按钮的点击事件
*  @param cancelBlock   返回按钮的点击事件
*/
+(void)alertShowWithMsg:(nullable NSString *)message continueBlock:(nullable continueNoParamBlock)continueBlock cancelBlock:(nullable continueNoParamBlock)cancelBlock;

/**
提示信息,只有确定按钮

@param message       内容
@param title         确定按钮的title
@param continueBlock 确定按钮的点击事件
*/
+(void)alertShowWithMsg:(nullable NSString *)message continueTitle:(nullable NSString *)title continueBlock:(nullable continueNoParamBlock)continueBlock;

##WaveAnimation 这个移动到项目demo中 ##这是一个加载等待视图,在网络加载过程中显示,这是在网上看到的一个比较好的例子,自己修改和封装之后更方便使用,原文地址,加载完成之后取消显示,效果如下

波浪显示

显示指示图

/**
开始加载显示视图 nil为空的时候显示在rootView的window上
*/
+(void)startAnimationToView:(UIView*)view;


/**
停止显示视图
*/
+(void)stopAnimation;

#Demo 上面的文件都包含在一个测试项目中,可以下载测试项目

#证书

RealReachability is released under the MIT license. See LICENSE for details.

#最后

欢迎使用,如果在使用中有什么问题请联系我😁😁😁😁

About

自己常用的一些封装方法和UIKIT,Foundation框架的category添加的方法

Resources

License

Stars

Watchers

Forks

Packages

No packages published