综合型ObjC开发工具包
包含对系统类的功能扩展和一些常用控件的封装。

特性

沙盒文件

.toJson()

Blocks

Cooldown

Date+

导入

1
pod 'AXKit'

示例

沙盒文件与ToJson

保存

1
2
NSDictionary *dict = @{@"name": @"Alex"};
@"File.json".docPath.saveJson(dict);

读取和转换

1
2
3
id read = @"File.json".docPath.readJson();
NSDictionary *readDict = NSDictionary.safe(read);
NSArray *readArr = NSArray.safe(read);

转换

1
2
3
4
5
NSUserDefaults.setObjectForKey(@23, @"age");
NSUserDefaults.numberForKey(@"age");
NSUserDefaults.setObjectForKey(@"23", @"age");
NSUserDefaults.numberForKey(@"age");
// 以上两种情况都可以正常读取到值,因为内部做了自动转换

Cooldown

1
2
3
4
5
6
// 10秒内即使多次调用也不会重复执行
ax_dispatch_cooldown(0, 10, "cool", dispatch_get_main_queue(), ^{
// do something
}, ^{
NSLog(@"正在冷却,请稍后")
});

Date+

1
2
3
NSDate *date = NSDate.initWithFormat(@"yyyyMMdd", @"20160802");
date = date.addDays(1).addhours(-1).addWeeks(-2).addMinutes(20);
NSString *str = date.stringWithFormat(@"yyyyMMdd");

Blocks

手势

1
2
3
4
5
6
7
8
9
10
11
12
[view ax_addTapGestureHandler:^(UITapGestureRecognizer * sender) {
// 点击事件
}];
[view ax_addPanGesture:nil handler:^(UIPanGestureRecognizer * sender) {
// 拖拽
}];
[view ax_addLongPressGesture:^(UILongPressGestureRecognizer * sender) {
sender.minimumPressDuration = 5;
} handler:^(UILongPressGestureRecognizer * sender) {
// 长按
}];
...

事件

1
2
3
4
5
6
7
8
9
10
UIButton *button;
[button ax_addTouchUpInsideHandler:^(UIButton * sender) {
// 点击
}];

UISlider *slider;
[slider ax_addEventHandler:^(UISlider * sender) {
// 事件
} forControlEvents:UIControlEventValueChanged];
...



评论