Giter VIP home page Giter VIP logo

clfoundation's Introduction

CLFoundation

Build Status codecov.io CocoaPods Compatible Carthage Compatible Platform Language

CLFoundation简介

CLFoundation是对系统Foundation API进行扩展的库, API的用法全部都在CLFoundationExample里, 如果在使用库遇到的一些疑惑欢迎随时Issues给我.

支持CocoaPod管理

pod 'CLFoundation'

目录

NSArray+CLArray@

针对FoundationNSArray进行系统外的方法补充:

+ (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;

NSAttributedString+CLAttributedString@

针对FoundationNSAttributedString进行系统外的方法补充:

- (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;

NSBundle+CLBundle@

针对FoundationNSBundle进行系统外的方法补充:

+ (NSString *)cl_getBundleDisplayName;

+ (NSString *)cl_getBundleShortVersionString;

+ (NSString *)cl_getBundleVersion;

+ (NSString *)cl_getBundleIdentifier;

NSData+CLData@

针对FoundationNSData进行系统外的方法补充:

+ (NSData *)cl_compressOriginalImage:(UIImage *)image
                  compressionQuality:(CGFloat)compressionQuality;

NSDate+CLDate@

针对FoundationNSDate进行系统外的方法补充:

时间戳处理/计算日期@

+ (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@

+ (NSDateComponents *)cl_getCalendarWithUnitFlags:(NSCalendarUnit)unitFlags
                                             date:(NSDate *)date;

NSDictionary+CLDictionary@

针对FoundationNSDictionary进行系统外的方法补充:

+ (NSDictionary *)cl_dictionaryWithURLString:(NSString *)urlString;

NSMutableArray+CLMutableArray@

针对FoundationNSMutableArray进行系统外的方法补充:

- (void)cl_addSafeObject:(id)object;

- (void)cl_insertSafeObject:(id)object
                      index:(NSUInteger)index;

- (void)cl_safeRemoveObjectAtIndex:(NSUInteger)index;

- (void)cl_safeRemoveObjectsInRange:(NSRange)range;

NSMutableAttributedString+CLMutableAttributedString@

针对FoundationNSMutableAttributedString进行系统外的方法补充:

+ (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;

NSMutableDictionary+CLMutableDictionary@

针对FoundationNSMutableDictionary进行系统外的方法补充:

- (void)cl_setSafeObject:(id)object
                  forKey:(id)key;

- (id)cl_safeObjectForKey:(id)key;

- (id)cl_safeKeyForValue:(id)value;

NSNumber+CLNumber@

针对FoundationNSNumber进行系统外的方法补充:

+ (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;

NSObject+CLObject@

针对FoundationNSObject进行系统外的方法补充:

RunTime@

+ (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;

GCD@

- (void)cl_performAsyncWithComplete:(CLObject)complete;

- (void)cl_performMainThreadWithComplete:(CLObject)complete
                               isWait:(BOOL)isWait;

- (void)cl_performWithAfterSecond:(NSTimeInterval)afterSecond
                         complete:(CLObject)complete;

NSString+CLString@

针对FoundationNSString进行系统外的方法补充:

字符串处理@

+ (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;

NSTimer+CLTimer@

针对FoundationNSTimer进行系统外的方法补充:

+ (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;

NSURL+CLURL@

针对FoundationNSURL进行系统外的方法补充:

+ (void)cl_openBrowserWithURL:(NSString *)urlString;

+ (NSURL *)cl_getDocumentURLPath;

+ (NSURL *)cl_getLibraryURLPath;

+ (NSURL *)cl_getCachesURLPath;

clfoundation's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.