GHKit 框架是一组针对 Mac OS X 和 iOS 的扩展和工具。
pod "GHKit"
GHKit 定义了各种类别和通用工具。
例如,解析日期字符串、日期算术、字符串操作、URL 字典格式化等。以下是一些示例。
所有类别都以 gh_ 命名空间命名,以避免冲突。
导入
#import <GHKit/GHKit.h>
日期
GHNSDate+Formatters.h
:ISO8601、RFC822、HTTP(RFC1123、RFC850、asctime)和自 epoch 的日期解析器、格式化和格式化程序。
NSDate *date = [NSDate gh_parseISO8601:@"2010-10-07T04:25Z"];
NSString *dateString = [date gh_formatHTTP]; // Formatted like: Sun, 06 Nov 1994 08:49:37 GMT"
NSDate *date = [NSDate gh_parseTimeSinceEpoch:@(1234567890)];
GHNSDate+Utils.h
:用于时间 ago in words、日期组件算术(添加天)、明天、昨天等。
NSDate *date = [NSDate date];
[date gh_isToday]; // YES
[[date gh_yesterday] gh_isToday]; // NO
date = [date gh_addDays:-1];
[date gh_wasYesterday]; // YES
[date gh_timeAgo:NO]; // @"1 day"
数组
GHNSArray+Utils.h
:随机对象、安全获取对象索引、uniq、compact
[@[@(1), @(2), @(3)] gh_random]; // Random object
[@[@(1), @(1), @(3)] gh_uniq]; // @[@(1), @(3)]
[@[] gh_objectAtIndex:0]; // nil (Safe objectAtIndex)
[@[@(1), NSNull.null] gh_compact]; // @[@(1)]
字典
GHDictionary+Utils.h
:
NSDictionary *dict = @{@"key1": @(2), @"key2": @(3.1), @"key3": @YES};
NSString *JSONString = [dict gh_toJSON:NSJSONWritingPrettyPrinted error:nil];
字符串
GHNSString+Utils.h
:剥离、反转、计数等。
[NSString gh_isBlank:@" "]; // YES
[NSString gh_isBlank:nil]; // YES
[@" some text " gh_strip]; // @"some text"
[@" " gh_isPresent]; // NO
[@"abc" gh_isPresent]; // YES
[@" " gh_present]; // nil
[@"some text" gh_present]; // @"some text"
[@"abc" gh_reverse]; // @"cba"
[@"ababababcde" gh_count:@"ab"]; // 4 (@"ab" appears 4 times)
[NSString gh_localizedStringForTimeInterval:30]; // "half a minute"
[NSString gh_abbreviatedStringForTimeInterval:30]; // @"30s"
[@"WWW.test.com" gh_startsWith:@"www." options:NSCaseInsensitiveSearch]; // YES
[@"foo:bar" gh_lastSplitWithString:@":" options:NSCaseInsensitiveSearch]; // @"bar"
[@"e̊gâds" gh_characters]; // @[@"e̊", @"g", @"â", @"d", @"s"];
URL
GHNSURL+Utils.h
:编码、转义、解析、分割和排序查询参数等。
NSDictionary *dict = [@"c=d&a=b" gh_queryStringToDictionary]; // Dictionary with a => b, c => d
[NSDictionary gh_dictionaryToQueryString:dict sort:YES]; // @"a=b&c=d"
颜色
GHUIColor+Utils.h
:从十六进制颜色、颜色空间变化、变暗。
UIColor *color = GHUIColorFromRGB(0xBC1128);
GH_HSV hsvColor = [color gh_hsv];
UIColor *darkenedColor = [color gh_darkenColor:0.1]; // Darken 10%
等等...