????????這是我在項(xiàng)目中慢慢積累的方法集合相赁,有些是自己寫的券时,有些是覺得網(wǎng)上的寫的挺好的就給自己搬過來了胁孙。
github地址鏈接:https://github.com/KingXcode/HTTools有些類對(duì)Masonry有依賴,可以根據(jù)需要添加Masonry逆屡,如果不需要請(qǐng)刪除相關(guān)的類。第一版示例更新:這個(gè)示例文件中簡(jiǎn)單寫了幾個(gè)分類的用法睬隶,當(dāng)然其它的分類功能更多愉烙。主要寫在ViewController.h中。
????????這個(gè)用來數(shù)組排序的分類是嗜,項(xiàng)目中進(jìn)場(chǎng)會(huì)遇到模型數(shù)組愈案,然后需要按照模型元素中的某一個(gè)屬性進(jìn)行排序,該分類中提供了這個(gè)排序方法鹅搪,主要還提供了去重的方法具體可以參考源碼站绪。
#pragma -mark- NSArray+HTTools.h
-(void)testArraySortFunction_1
{
NSArray *test = @[@2,@3,@5,@23,@2,@12,@91,@10,@54,@6];
NSArray *newTest = [test ht_SortModelArrayWithInfo:@[@{@"self":@(YES)}]];
NSLog(@"詳情請(qǐng)參考NSArray+HTTools.h和HTTools+Array這兩個(gè)分類");
NSLog(@"--數(shù)組排序---%@",newTest);
NSLog(@"--數(shù)組反序---%@",[newTest ht_reverse]);
NSLog(@"--數(shù)組去重---%@",[newTest ht_removeRepeatRows]);
NSLog(@"模型數(shù)組根據(jù)模型屬性去重,請(qǐng)參考NSArray+HTTools.h中的說明\n\n\n");
}
這是關(guān)于時(shí)間的分類 里面有關(guān)于時(shí)間獲取的更詳細(xì)的方法
#pragma -mark- NSDate+HTExtension-(void)testDateExtension_1
{
NSDate *date = [NSDate date];
NSLog(@"詳情請(qǐng)參考NSDate+HTExtension和HTTools+Date這兩個(gè)分類");
NSLog(@"--時(shí)間獲取---%ld年",[date ht_year]);
NSLog(@"--時(shí)間獲取---%ld月",[date ht_month]);
NSLog(@"--時(shí)間獲取---%ld日",[date ht_day]);
NSLog(@"--時(shí)間獲取---%ld時(shí)",[date ht_hour]);
NSLog(@"--時(shí)間獲取---%ld分",[date ht_minute]);
NSLog(@"--時(shí)間獲取---%ld秒",[date ht_second]);
NSLog(@"--獲取一年的天數(shù)---%ld",[date ht_daysInYear]);
NSLog(@"--獲取當(dāng)前月的天數(shù)---%ld",[date ht_daysInMonth]);
NSLog(@"--是否是閏年---%@",@([date ht_isLeapYear]))丽柿;
NSLog(@"--這個(gè)時(shí)間是今年的第%ld周",[date ht_weekOfYear]);
NSLog(@"--時(shí)間格式化---%@",[date ht_formatYMD]);
NSLog(@"在HTTools+Date.h中有這個(gè)方法我在項(xiàng)目中的使用頻率更高h(yuǎn)t_DateWithLongTime:dateFormat:");
}
關(guān)于字符串的方法恢准,分詞進(jìn)制轉(zhuǎn)換尺寸計(jì)算都在里面
#pragma -mark- NSString+HTTools.h
-(void)testStringTools
{
NSString *txt = @"這個(gè)方法雖然已經(jīng)過時(shí),但是對(duì)它的分析有助于后面知識(shí)的理解航厚。它一共有6個(gè)參數(shù)顷歌,前兩個(gè)表示從哪個(gè)VC開始,跳轉(zhuǎn)到哪個(gè)VC幔睬,中間兩個(gè)參數(shù)表示動(dòng)畫的時(shí)間和選項(xiàng)眯漩。最后兩個(gè)參數(shù)表示動(dòng)畫的具體實(shí)現(xiàn)細(xì)節(jié)和回調(diào)閉包。";
NSString *number = @"3278.10300";
NSLog(@"詳情請(qǐng)參考NSString+HTTools.h和HTTools+String這兩個(gè)分類");
NSLog(@"移除最后無效的0--%@--保留兩位小數(shù)",[number ht_removeFloatAllZeroKeepTwoDecimalPlaces]);
NSLog(@"移除最后無效的0--%@",[number ht_removeFloatAllZero]);
NSLog(@"分詞 帶標(biāo)點(diǎn)\n%@",[txt ht_stringTokenizer]);
NSLog(@"分詞 不帶標(biāo)點(diǎn)\n%@",[txt ht_notDotStringTokenizer]);
NSLog(@"文本尺寸計(jì)算%@",[NSValue valueWithCGSize:[txt ht_sizeOfFont:[UIFont systemFontOfSize:20] limitWidth:200]]);
NSLog(@"十進(jìn)制轉(zhuǎn)二進(jìn)制%@",[@"87" ht_decimalTOBinaryWithBackLength:10]);
NSLog(@"十進(jìn)制轉(zhuǎn)十六進(jìn)制%@",[@"87" ht_ToHex]);
NSLog(@"十六進(jìn)制轉(zhuǎn)二進(jìn)制%@",[[@"87" ht_ToHex]ht_getBinaryByhex]);
NSLog(@"請(qǐng)參考對(duì)應(yīng)頭文件\n\n\n");
}
待續(xù)...