1.簡(jiǎn)介
該工程包含iOS開(kāi)發(fā)中使用到的工具,文件操作因悲,網(wǎng)絡(luò)訪問(wèn),提示UI勺爱,設(shè)備唯一ID晃琳,keychain存儲(chǔ),以便于開(kāi)發(fā)者能迅速搭建基礎(chǔ)模塊琐鲁。
源碼地址 :https://github.com/ydbwwhq/HWCommon
2.使用方法
- 下載該項(xiàng)目卫旱,直接將HWCommon文件夾拖入項(xiàng)目即可
-
import"HWCommon.h",導(dǎo)入所有工具類
即可快速搭建項(xiàng)目的基礎(chǔ)功能模塊
3.具體工具類使用實(shí)例
3.1 HWWaitV
該類主要提供加載中的提示框围段,如網(wǎng)絡(luò)請(qǐng)求時(shí)顾翼,可以調(diào)用該方法
3.1.1 API使用介紹
-
在屏幕中間彈出加載框
[HWWaitV show];
-
在屏幕指定位置彈出加載框
[HWWaitV showInCenter:CGPointMake(10,10)];
-
隱藏提示框
[HWWaitV hidden];
3.2 HWUtility
該類主要包含經(jīng)常用到的一些工具類操作,如返回當(dāng)前時(shí)間戳
3.2.1 API使用介紹
-
獲取字符串的字節(jié)長(zhǎng)度
[HWUtility getStrByteLength:@"Hale"];
-
檢測(cè)字符串是否包含空格
[HWUtility isIncludeSpace:@"Hale Wang"];
-
獲取時(shí)間戳單位s
[HWUtility getTimestamp];
-
獲取屏屏幕縮放比例,主要獲取的屏幕相對(duì)于iPhone6系列尺寸的縮放比例奈泪,在UI適配時(shí)會(huì)用到
[HWUtility getScreenPer];
-
獲取導(dǎo)航欄高度暴构,在狀態(tài)欄是否顯示時(shí),正確返回導(dǎo)航欄高度
[HWUtility getNavigationH];
-
根據(jù)時(shí)間和時(shí)間格式 返回時(shí)間字符串 針對(duì)手機(jī)系統(tǒng)的時(shí)區(qū)
[HWUtility getDateTime:@"yyyy-mm-dd hh:mm:ss" Date:[NSDate new]];
-
根據(jù)時(shí)間和時(shí)間格式 返回時(shí)間字符串 可以自定義時(shí)區(qū)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-mm-dd hh:mm:ss"]; [HWUtility getDateFormatTime:dateFormatter Date::[NSDate new]];
-
判斷字符串是否為空 其中包含字符創(chuàng)為nil段磨,null或者字符串為空格的情況
[HWUtility isBlankString:@" " ];
-
判斷電話號(hào)碼是否合法
[HWUtility isLegalMoblieNum:@"322431143"];
-
判斷郵箱是否合法
[HWUtility isLegalEmail:@"fasffadssdf"];
-
字典轉(zhuǎn)為base64編碼的字符串
[HWUtility base64EncodingWithDic:@{@"key":@"afdsfda"}];
-
NSData轉(zhuǎn)化為Base64編碼
[HWUtility base64EncodingWithData:[NSData new]];
-
字符串轉(zhuǎn)化為Base64字符串
[HWUtility base64EncodingWithStr:@"afsddfsa"];
-
字符串的MD5值
[HWUtility getMD5String:@"fsdadfsfdsa"];
-
NSData轉(zhuǎn)化為字典,客戶端和服務(wù)器交互耗绿,經(jīng)常會(huì)返回NSData類型的數(shù)據(jù)苹支,使用該API可以直接轉(zhuǎn)化為字典
[HWUtility dicFromData:[NSData new]];
-
字符串轉(zhuǎn)化為字典
[HWUtility dicFromJsonStr:@""];
字典轉(zhuǎn)化為字符串
[HWUtility jsonStrFromDic:@{@"key":@"asddsf"}];
-
字典轉(zhuǎn)化為NSData
[HWUtility dataFromDic:@{@"key":@"asddsf"}];
-
字典或者數(shù)組轉(zhuǎn)化為字符串
[HWUtility jsonStrFromObj:@{@"key":@"asddsf"}]];
-
字符串轉(zhuǎn)化為字典或者數(shù)組
[HWUtility ObjFromJsonStr:@"fasdsfadfsa"];
-
獲取當(dāng)前控制器
[HWUtility currentViewController];
-
判斷是否在同一天
[HWUtility isSameDay:11212424 Time2:24324234];
-
產(chǎn)生一個(gè)隨機(jī)整數(shù)
[HWUtility getRandomNumber:0 to :100];
-
產(chǎn)生一個(gè)隨機(jī)浮點(diǎn)數(shù)
[HWUtility randomBetween:0.1 And:0.2];
3.3 HWDevice
3.3.1 API使用介紹
-
判斷手機(jī)是否越獄
[HWDevice isJailbroken];
-
獲取設(shè)備的唯一ID
[HWDevice getDeviceID];
-
獲取系統(tǒng)版本號(hào),如iOS9.0
[HWDevice systemVersion];
-
獲取手機(jī)型號(hào),如iPhone6,iPhone7
[HWDevice phoneModel];
-
獲取手機(jī)分辨率
[HWDevice screenResolution];
3.4 HWKeyChain
3.4.1 API使用介紹
-
保存數(shù)據(jù)到KeyChain
[HWKeyChain save:@"key" data:@"value"];
-
從KeyChain中讀取值
[HWKeyChain load:@"key"];
-
刪除KeyChain中的數(shù)據(jù)
[HWKeyChain deleteData:@"key"];
3.5 HWRequest
該類繼承了 NSMutableURLRequest误阻,所以可以支持所有原生Request的屬性债蜜,可根據(jù)自己的需求自行設(shè)定超時(shí)時(shí)間等。
3.5.1 API使用介紹
-
Get請(qǐng)求
HWRequest *request = [[HWRequest alloc]initWithURLStr:@"https://dasfdsdfs"]; [request asynGetRequest:@{@"key":@"value"} onSuccess:^(NSData *data) { if(successCallBack) { successCallBack(data); } } onFailure:^(NSError *error) { if(failureCallBack) { failureCallBack(error); } }]; [request startRequest];
-
Post請(qǐng)求,默認(rèn)設(shè)置超時(shí)時(shí)間為30s究反,content-type為application/json寻定,
HWRequest *request = [[HWRequest alloc]initWithURLStr:@"https://dasfdsdfs"]; [request asynPostRequest:@{@"key":@"value"} onSuccess:^(NSData *data) { if(successCallBack) { successCallBack(data); } } onFailure:^(NSError *error) { if(failureCallBack) { failureCallBack(error); } }]; [request startRequest];
3.6 HWTipView
該類提供提示語(yǔ)的吐司,類似android的吐司效果
3.6.1 API使用介紹
-
彈出吐司
[HWTipView showTip:@"登錄成功"];
-
隱藏吐司
[HWTipView hiddenTip];
-
設(shè)置提示框字體大小
[HWTipView setFontSize:12];
-
設(shè)置提示框背景色
[HWTipView setBgColor:[UIColor redColor]];
-
設(shè)置提示框圓角大小
[HWTipView setCornerRadius:2];
3.7 HWFile
3.7.1 API使用介紹
-
創(chuàng)建文件
[HWFile createFile:@"user/info.txt"];
-
刪除文件
[HWFile deleteFile:@"user/info.txt"];
-
判斷文件是否存在
[HWFile fileExistsAtPath:@"user/info.txt"];
-
寫(xiě)文件操作精耐,其中append表示是否是在原有內(nèi)容后面寫(xiě)入內(nèi)容或者覆蓋寫(xiě)入
[HWFile writeFile:@"dsadfsafd" filePath:@"user/info.txt" append:false];
-
讀取文件狼速,返回的是NSData類型的數(shù)據(jù)
[HWFile readFile:@"user/info.txt"];
-
獲取Document路徑
[HWFile getDocumentPath];
-
從文件中讀取對(duì)象,返回NSObject類型
[HWFile readObjFromFile:@"user/info.txt"];
-
把對(duì)象存入文件,該對(duì)象是自定義的對(duì)象或者包含自定義的對(duì)象卦停,該自定義的對(duì)象需要實(shí)現(xiàn)NSCoder協(xié)議
[HWFile writeObjTofile:[NSObject new] filePath:@"user/info.txt"];
3.8 HWNetwork
3.8.1 API使用介紹
-
獲取網(wǎng)絡(luò)類型 wifi 無(wú)網(wǎng)絡(luò) 3G 4G 2G
[HWNetwork networkType];
-
獲取網(wǎng)絡(luò)運(yùn)營(yíng)商 中國(guó)聯(lián)通 中國(guó)移動(dòng)
[HWNetwork networkOperator];
-
判斷網(wǎng)絡(luò)是否可用
[HWNetwork isConnectionAvailable];
-
判斷是否連接到wifi
[HWNetwork isConnectWifi];
-
判斷是否連接網(wǎng)絡(luò)
[HWNetwork isConnectInternet];
-
網(wǎng)絡(luò)狀態(tài)碼向胡,WLAN網(wǎng)恼蓬,無(wú)線網(wǎng),無(wú)網(wǎng)絡(luò)的狀態(tài)碼
[HWNetwork networkStatus];
4.總結(jié)
后續(xù)工具類還會(huì)持續(xù)更新僵芹,如果有任何疑問(wèn)或者建議处硬,請(qǐng)郵箱聯(lián)系1334849513@qq.com
源碼地址 :https://github.com/ydbwwhq/HWCommon