iOS小项目

项目方法集合HTools

2017-11-06  本文已影响7人  阿洋12138

        这是我在项目中慢慢积累的方法集合,有些是自己写的,有些是觉得网上的写的挺好的就给自己搬过来了。

github地址链接:https://github.com/KingXcode/HTTools有些类对Masonry有依赖,可以根据需要添加Masonry,如果不需要请删除相关的类。第一版示例更新:这个示例文件中简单写了几个分类的用法,当然其它的分类功能更多。主要写在ViewController.h中。

        这个用来数组排序的分类,项目中进场会遇到模型数组,然后需要按照模型元素中的某一个属性进行排序,该分类中提供了这个排序方法,主要还提供了去重的方法具体可以参考源码。

#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(@"详情请参考NSArray+HTTools.h和HTTools+Array这两个分类");

NSLog(@"--数组排序---%@",newTest);

NSLog(@"--数组反序---%@",[newTest ht_reverse]);

NSLog(@"--数组去重---%@",[newTest ht_removeRepeatRows]);

NSLog(@"模型数组根据模型属性去重,请参考NSArray+HTTools.h中的说明\n\n\n");

}

这是关于时间的分类 里面有关于时间获取的更详细的方法

#pragma -mark- NSDate+HTExtension-(void)testDateExtension_1

{

NSDate *date = [NSDate date];

NSLog(@"详情请参考NSDate+HTExtension和HTTools+Date这两个分类");

NSLog(@"--时间获取---%ld年",[date ht_year]);

NSLog(@"--时间获取---%ld月",[date ht_month]);

NSLog(@"--时间获取---%ld日",[date ht_day]);

NSLog(@"--时间获取---%ld时",[date ht_hour]);

NSLog(@"--时间获取---%ld分",[date ht_minute]);

NSLog(@"--时间获取---%ld秒",[date ht_second]);

NSLog(@"--获取一年的天数---%ld",[date ht_daysInYear]);

NSLog(@"--获取当前月的天数---%ld",[date ht_daysInMonth]);

NSLog(@"--是否是闰年---%@",@([date ht_isLeapYear]));

NSLog(@"--这个时间是今年的第%ld周",[date ht_weekOfYear]);

NSLog(@"--时间格式化---%@",[date ht_formatYMD]);

NSLog(@"在HTTools+Date.h中有这个方法我在项目中的使用频率更高ht_DateWithLongTime:dateFormat:");

}

关于字符串的方法,分词进制转换尺寸计算都在里面

#pragma -mark- NSString+HTTools.h

-(void)testStringTools

{

NSString *txt = @"这个方法虽然已经过时,但是对它的分析有助于后面知识的理解。它一共有6个参数,前两个表示从哪个VC开始,跳转到哪个VC,中间两个参数表示动画的时间和选项。最后两个参数表示动画的具体实现细节和回调闭包。";

NSString *number = @"3278.10300";

NSLog(@"详情请参考NSString+HTTools.h和HTTools+String这两个分类");

NSLog(@"移除最后无效的0--%@--保留两位小数",[number ht_removeFloatAllZeroKeepTwoDecimalPlaces]);

NSLog(@"移除最后无效的0--%@",[number ht_removeFloatAllZero]);

NSLog(@"分词 带标点\n%@",[txt ht_stringTokenizer]);

NSLog(@"分词 不带标点\n%@",[txt ht_notDotStringTokenizer]);

NSLog(@"文本尺寸计算%@",[NSValue valueWithCGSize:[txt ht_sizeOfFont:[UIFont systemFontOfSize:20] limitWidth:200]]);

NSLog(@"十进制转二进制%@",[@"87" ht_decimalTOBinaryWithBackLength:10]);

NSLog(@"十进制转十六进制%@",[@"87" ht_ToHex]);

NSLog(@"十六进制转二进制%@",[[@"87" ht_ToHex]ht_getBinaryByhex]);

NSLog(@"请参考对应头文件\n\n\n");

}

待续...

上一篇 下一篇

猜你喜欢

热点阅读