CLFoundation
是对系统Foundation API
进行扩展的库, API
的用法全部都在CLFoundationExample
里, 如果在使用库遇到的一些疑惑欢迎随时Issues
给我.
支持CocoaPod
管理
pod 'CLFoundation'
- NSArray+CLArray@
- NSAttributedString+CLAttributedString@
- NSBundle+CLBundle@
- NSData+CLData@
- NSDate+CLDate@
- 获取NSDateComponents@
- NSDictionary+CLDictionary@
- NSMutableArray+CLMutableArray@
- NSMutableAttributedString+CLMutableAttributedString@
- NSMutableDictionary+CLMutableDictionary@
- NSNumber+CLNumber@
- NSObject+CLObject@
- NSString+CLString@
- NSTimer+CLTimer@
- NSURL+CLURL@
针对Foundation
的NSArray
进行系统外的方法补充:
+ (instancetype)cl_initSafeArrayWithObject:(id)object;
- (id)cl_safeObjectAtIndex:(NSUInteger)index;
- (NSArray *)cl_safeArrayWithRange:(NSRange)range;
- (NSUInteger)cl_safeIndexOfObject:(id)object;
+ (NSArray *)cl_getArrayWithPlistName:(NSString *)name;
针对Foundation
的NSAttributedString
进行系统外的方法补充:
- (CGFloat)cl_attributedStringHeightWithContainWidth:(CGFloat)width;
+ (NSAttributedString *)cl_attributeStringWithString:(NSString *)string
color:(UIColor *)color
range:(NSRange)range;
+ (NSAttributedString *)cl_attributeStringWithAttributedString:(NSAttributedString *)attributedString
color:(UIColor *)color
range:(NSRange)range;
+ (NSAttributedString *)cl_attributeStringWithString:(NSString *)string
font:(UIFont *)font
range:(NSRange)range;
+ (NSAttributedString *)cl_attributeStringWithAttributedString:(NSAttributedString *)attributedString
font:(UIFont *)font
range:(NSRange)range;
+ (NSAttributedString *)cl_attributeStringWithPrefixString:(NSString *)prefixString
prefixFont:(UIFont *)prefixFont
suffixString:(NSString *)suffixString
suffixFont:(UIFont *)suffixFont;
+ (NSAttributedString *)cl_attributeStringWithPrefixString:(NSString *)prefixString
prefixFont:(UIFont *)prefixFont
prefixColor:(UIColor *)prefixColor
suffixString:(NSString *)suffixString
suffixFont:(UIFont *)suffixFont
suffixColor:(UIColor *)suffixColor;
针对Foundation
的NSBundle
进行系统外的方法补充:
+ (NSString *)cl_getBundleDisplayName;
+ (NSString *)cl_getBundleShortVersionString;
+ (NSString *)cl_getBundleVersion;
+ (NSString *)cl_getBundleIdentifier;
针对Foundation
的NSData
进行系统外的方法补充:
+ (NSData *)cl_compressOriginalImage:(UIImage *)image
compressionQuality:(CGFloat)compressionQuality;
针对Foundation
的NSDate
进行系统外的方法补充:
+ (NSString *)cl_compareCureentTimeWithDate:(NSTimeInterval)timeStamp;
+ (NSString *)cl_getCurrentTimeStamp;
+ (NSString *)cl_displayTimeWithTimeStamp:(NSTimeInterval)timeStamp;
+ (NSString *)cl_displayTimeWithTimeStamp:(NSTimeInterval)timeStamp
formatter:(NSString *)formatter;
+ (NSString *)cl_getDateStringWithDate:(NSDate *)date
formatter:(NSString *)formatter;
+ (NSString *)cl_calculateDaysWithDate:(NSDate *)date;
+ (NSUInteger)cl_getEraWithDate:(NSDate *)date;
+ (NSUInteger)cl_getYearWithDate:(NSDate *)date;
+ (NSUInteger)cl_getMonthWithDate:(NSDate *)date;
+ (NSUInteger)cl_getDayWithDate:(NSDate *)date;
+ (NSUInteger)cl_getHourWithDate:(NSDate *)date;
+ (NSUInteger)cl_getMinuteWithDate:(NSDate *)date;
+ (NSUInteger)cl_getSecondWithDate:(NSDate *)date;
+ (NSInteger)cl_getWeekdayStringFromDate:(NSDate *)date;
+ (NSInteger)cl_getDateTimeDifferenceWithBeginDate:(NSDate *)beginDate
endDate:(NSDate *)endDate;
+ (NSDate *)cl_getMonthFirstDeteWithDate:(NSDate *)date;
+ (NSDate *)cl_getMonthLastDayWithDate:(NSDate *)date;
+ (NSUInteger)cl_getWeekOfYearWithDate:(NSDate *)date;
+ (NSDate *)cl_getTomorrowDay:(NSDate *)date;
+ (NSDate *)cl_getYearDateWithDate:(NSDate *)date
years:(NSInteger)years;
+ (NSDate *)cl_getMonthDateWithDate:(NSDate *)date
months:(NSInteger)months;
+ (NSDate *)cl_getDaysDateWithDate:(NSDate *)date
days:(NSInteger)days;
+ (NSDate *)cl_getHoursDateWithDate:(NSDate *)date
hours:(NSInteger)hours;
+ (BOOL)cl_isLeapYear:(NSDate *)date;
+ (BOOL)cl_checkTodayWithDate:(NSDate *)date;
+ (NSDateComponents *)cl_getCalendarWithUnitFlags:(NSCalendarUnit)unitFlags
date:(NSDate *)date;
针对Foundation
的NSDictionary
进行系统外的方法补充:
+ (NSDictionary *)cl_dictionaryWithURLString:(NSString *)urlString;
针对Foundation
的NSMutableArray
进行系统外的方法补充:
- (void)cl_addSafeObject:(id)object;
- (void)cl_insertSafeObject:(id)object
index:(NSUInteger)index;
- (void)cl_safeRemoveObjectAtIndex:(NSUInteger)index;
- (void)cl_safeRemoveObjectsInRange:(NSRange)range;
针对Foundation
的NSMutableAttributedString
进行系统外的方法补充:
+ (NSMutableAttributedString *)cl_attributeStringWithSubffixString:(NSString *)subffixString
subffixImage:(UIImage *)subffixImage;
+ (NSMutableAttributedString *)cl_attributeStringWithSubffixString:(NSString *)subffixString
subffixImages:(NSArray<UIImage *> *)subffixImages;
+ (NSMutableAttributedString *)cl_attributeStringWithPrefixString:(NSString *)prefixString
prefixImage:(UIImage *)prefixImage;
+ (NSMutableAttributedString *)cl_attributeStringWithPrefixString:(NSString *)prefixString
prefixImages:(NSArray<UIImage *> *)prefixImages;
+ (NSMutableAttributedString *)cl_attributedStringWithString:(NSString *)string
lineSpacing:(CGFloat)lineSpacing;
+ (NSMutableAttributedString *)cl_attributedStringWithAttributedString:(NSAttributedString *)attributedString
lineSpacing:(CGFloat)lineSpacing;
针对Foundation
的NSMutableDictionary
进行系统外的方法补充:
- (void)cl_setSafeObject:(id)object
forKey:(id)key;
- (id)cl_safeObjectForKey:(id)key;
- (id)cl_safeKeyForValue:(id)value;
针对Foundation
的NSNumber
进行系统外的方法补充:
+ (NSString *)cl_displayDecimalWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
+ (NSString *)cl_displayCurrencyWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
+ (NSString *)cl_displayPercentWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
+ (NSNumber *)cl_roundingWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
+ (NSNumber *)cl_roundCeilingWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
+ (NSNumber *)cl_roundFloorWithNumber:(NSNumber *)number
digit:(NSUInteger)digit;
针对Foundation
的NSObject
进行系统外的方法补充:
+ (void)cl_exchangeImplementationsWithClass:(Class)class
originalSelector:(SEL)originalSelector
swizzledSelector:(SEL)swizzledSelector;
+ (BOOL)cl_addMethodWithClass:(Class)class
originalSelector:(SEL)originalSelector
swizzledSelector:(SEL)swizzledSelector;
+ (void)cl_replaceMethodWithClass:(Class)class
originalSelector:(SEL)originalSelector
swizzledSelector:(SEL)swizzledSelector;
+ (NSArray <NSString *> *)cl_getClassList;
+ (NSArray <NSString *> *)cl_getClassMethodListWithClass:(Class)class;
+ (NSArray <NSString *> *)cl_getPropertyListWithClass:(Class)class;
+ (NSArray <NSString *> *)cl_getIVarListWithClass:(Class)class;
+ (NSArray <NSString *> *)cl_getProtocolListWithClass:(Class)class;
- (BOOL)cl_hasPropertyWithKey:(NSString *)key;
- (BOOL)cl_hasIvarWithKey:(NSString *)key;
- (void)cl_performAsyncWithComplete:(CLObject)complete;
- (void)cl_performMainThreadWithComplete:(CLObject)complete
isWait:(BOOL)isWait;
- (void)cl_performWithAfterSecond:(NSTimeInterval)afterSecond
complete:(CLObject)complete;
针对Foundation
的NSString
进行系统外的方法补充:
+ (NSString *)cl_getNumberWithString:(NSString *)string;
+ (NSString *)cl_getSecrectStringWithPhoneNumber:(NSString *)phoneNumber;
+ (NSString *)cl_getSecrectStringWithCardNumber:(NSString *)cardNumber;
- (CGFloat)cl_heightWithFontSize:(CGFloat)fontSize
width:(CGFloat)width;
- (NSString *)cl_removeUnwantedZero;
- (NSString *)cl_trimmedString;
- (NSString *)cl_removeStringCharacterWithCharacter:(NSString *)character;
+ (NSString *)cl_stringMobileFormat:(NSString *)phoneNumber;
+ (NSString *)cl_stringMobileFormat:(NSString *)phoneNumber
separator:(NSString *)separator;
+ (NSString *)cl_stringUnitFormat:(CGFloat)value
unitString:(NSString *)unitString;
+ (CGSize)cl_measureStringSizeWithString:(NSString *)string
font:(UIFont *)font;
+ (CGFloat)cl_measureSingleLineStringWidthWithString:(NSString *)string
font:(UIFont *)font;
+ (CGFloat)cl_measureHeightWithMutilineString:(NSString *)string
font:(UIFont *)font
width:(CGFloat)width;
+ (NSString *)cl_urlQueryStringWithDictionary:(NSDictionary *)dictionary;
+ (NSString *)cl_jsonStringWithObject:(NSObject *)object;
+ (NSString *)cl_base64StringFromData:(NSData *)data
length:(NSUInteger)length;
+ (NSString *)cl_encodingBase64WithString:(NSString *)string;
+ (NSString *)cl_decodedBase64WithString:(NSString *)string;
+ (NSString *)cl_encodingMD5WithString:(NSString *)string;
+ (NSString *)cl_getFirstCharactorWithString:(NSString *)string;
+ (NSString *)cl_getFirstPinYinWithString:(NSString *)string;
- (BOOL)cl_realContainDecimal;
- (BOOL)cl_isNumber;
- (BOOL)cl_checkMostNumber:(NSInteger)quantity;
- (BOOL)cl_checkAtLeastNumber:(NSInteger)quantity;
- (BOOL)cl_checkLeastNumber:(NSInteger)leastNumber
mostNumber:(NSInteger)mostNumber;
- (BOOL)cl_isNotZeroStartNumber;
- (BOOL)cl_isNotZeroPositiveInteger;
- (BOOL)cl_isNotZeroNegativeInteger;
- (BOOL)cl_isPositiveInteger;
- (BOOL)cl_isNegativeInteger;
- (BOOL)cl_isFloat;
- (BOOL)cl_isPositiveFloat;
- (BOOL)cl_isNagativeFloat;
- (BOOL)cl_isNotZeroStartNumberHaveOneOrTwoDecimal;
- (BOOL)cl_isHaveOneOrTwoDecimalPositiveOrNegative;
- (BOOL)cl_isPositiveRealHaveTwoDecimal;
- (BOOL)cl_isHaveOneOrThreeDecimalPositiveOrNegative;
- (BOOL)cl_isChineseCharacter;
- (BOOL)cl_isEnglishOrNumbers;
- (BOOL)cl_limitinglength:(NSInteger)fistRange
lastRange:(NSInteger)lastRange;
- (BOOL)cl_checkString:(NSInteger)length;
- (BOOL)cl_isLettersString;
- (BOOL)cl_isCapitalLetters;
- (BOOL)cl_isLowercaseLetters;
- (BOOL)cl_isNumbersOrLettersOrLineString;
- (BOOL)cl_isChineseCharacterOrEnglishOrNumbersOrLineString;
- (BOOL)cl_isDoesSpecialCharactersString;
- (BOOL)cl_isContainSpecialCharacterString;
- (BOOL)cl_isContainCharacter:(NSString *)charater;
- (BOOL)cl_isLetterStar;
- (BOOL)cl_checkStringIsStrong;
- (BOOL)cl_checkChineseCharacter;
- (BOOL)cl_checkDoubleByteCharacters;
- (BOOL)cl_checkBlankLines;
- (BOOL)cl_checkFirstAndLastSpaceCharacters;
- (BOOL)cl_checkPhoneNumber;
- (BOOL)cl_checkChinaMobelPhoneNumber;
- (BOOL)cl_checkChinaUnicomPhoneNumber;
- (BOOL)cl_checkChinaTelecomPhoneNumber;
- (BOOL)cl_checkTelePhoneNumber;
- (BOOL)cl_checkFormatTelePhoneNumber;
- (BOOL)cl_checkIdentityCard;
- (BOOL)cl_checkAccount;
- (BOOL)cl_checkPassword;
- (BOOL)cl_checkStrongPassword:(NSInteger)briefest
longest:(NSInteger)longest;
- (BOOL)cl_checkChinaDateFormat;
- (BOOL)cl_checkAbroadDateFormat;
- (BOOL)cl_checkMonth;
- (BOOL)cl_checkDay;
- (BOOL)cl_checkEmailAddress;
- (BOOL)cl_checkDomainName;
- (BOOL)cl_checkURL;
- (BOOL)cl_checkXMLFile;
- (BOOL)cl_checkHTMLSign;
- (BOOL)cl_checkQQNumber;
- (BOOL)cl_checkPostalCode;
- (BOOL)cl_checkIPv4InternetProtocol;
- (BOOL)cl_regularWithRule:(NSString *)rule;
针对Foundation
的NSTimer
进行系统外的方法补充:
+ (NSTimer *)cl_scheduledTimerWithTimeInterval:(NSTimeInterval)timeInterval
repeats:(BOOL)repeats
complete:(CLTimer)complete;
+ (NSTimer *)cl_timerWithTimeInterval:(NSTimeInterval)timeInterval
repeats:(BOOL)repeats
complete:(CLTimer)complete;
- (void)cl_resumeTimer;
- (void)cl_pauseTimer;
- (void)cl_resumeTimerAfterTimeInterval:(NSTimeInterval)timeInterval;
针对Foundation
的NSURL
进行系统外的方法补充:
+ (void)cl_openBrowserWithURL:(NSString *)urlString;
+ (NSURL *)cl_getDocumentURLPath;
+ (NSURL *)cl_getLibraryURLPath;
+ (NSURL *)cl_getCachesURLPath;