• Stars
    star
    123
  • Rank 290,145 (Top 6 %)
  • Language
    Objective-C
  • Created almost 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MangoTools

个人收集整理与编写维护的一个 iOS 开发工具库

1.UIView+Tools

recognizer 封装

封装了 UITapGestureRecognizer 等 Recognizer,使用 Block 作为动作触发的回调。

layer

便捷地修改 UIView 的 layer 属性,添加不同方向的 border,裁剪为圆。

2.NSDate+Utilities

便捷的时间对比与计算。

例如:

- (BOOL) isToday;
- (BOOL) isTomorrow;
- (BOOL) isYesterday;
- (BOOL) isTheDayAfterTomorrow;

3.JZLocationConverter

便捷的地理位置坐标转换器,将火星坐标转到地球坐标等便捷中国特色功能

4.HudTools

便捷的hud通知调用,全部通过类方法调用。方便快捷。

5.NSString+Tools.h

一些检测 String 的便捷方法,封装了正则匹配等一些匹配。

- (BOOL)isMobileNumber:(NSString *)mobileNum
- (BOOL)isCarNumber;
- (BOOL)isURL;
+ (NSURL *)HTTPURLFromString:(NSString *)string;

6.NSObject+Macro

一些常用的宏:

例如检测设备

#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

定制 NSLog:

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__,  ##__VA_ARGS__);
#else
#   define DLog(...)
#endif

7.EXTScope

来自 libextobjc 中的一个模块。感谢它为我们带来方便打破 block 循环引用的工具。

用法:

@weakify(self)
[self.context performBlock:^{
    // Analog to strongSelf in previous code snippet.
    @strongify(self)

    // You can just reference self as you normally would. Hurray.
    NSError *error;
    [self.context save:&error];

    // Do something
}];

延伸:

iOS 夯实:ARC 时代的内存管理

8.MangoLog

简单的日志工具。直接通过 LOG 保存 Debug 信息到文件。

已确保线程安全,简单易扩展。