#import <Foundation/Foundation.h> UIColor * rgb(int r, int g, int b); UIColor * rgbA(int r, int g, int b, float a); UIColor * rgbweb(int rgbval); @interface NSObject (Utilty) // 读文件 -(NSString*)readApiCacheFileName:(NSString*)fileName; // 写文件 -(void)saveApiCacheFileName:(NSString*)fileName textContent:(NSString*)content Append:(BOOL)isAppend; // 字符串过滤不规则字符 -(NSString*)filterString:(NSString*)aString filterWith:(NSString*)fStr; /* * 检查输入的金额是否符合金额的输入规则 * */ -(bool)doCheckInputAmount:(NSString *)textFieldtext replacementString:(NSString *)string; @end @interface NSDictionary (extra) //根据key值的到字典中的object - (id)getObjectByKey:(NSString*)key; //根据key值得到字符串,如为空则返回@“” - (id)getStringByKey:(NSString*)key; //根据key值把字典中的list字典转换成数组 - (NSMutableArray*)getArrayByString:(NSString*)string; - (NSArray*)sortedKeysByString:(NSString*)elementName; @end @interface NSString (chnbs) -(void)saveApiCacheFileName:(NSString*)fileName; @end
#import "NSObject+Utilty.h" //定义颜色 UIColor * rgb(int r, int g, int b) { return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:1]; } UIColor * rgbA(int r, int g, int b, float a) { return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]; } UIColor * rgbweb(int rgbval) { return rgb((rgbval>>16)&0xFF,(rgbval>>8)&0xFF,(rgbval>>0)&0xFF); } @implementation NSObject (Utilty) //读取保存文件。 -(NSString*)readApiCacheFileName:(NSString*)fileName{ NSString * cacheFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; cacheFolder = [cacheFolder stringByAppendingPathComponent:@"JiangSu"]; //获取文件路径 NSString *path = [cacheFolder stringByAppendingPathComponent:fileName]; return [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL]; } /* * @fileName 需要保存的文件名字 */ -(void)saveApiCacheFileName:(NSString*)fileName textContent:(NSString*)content Append:(BOOL)isAppend{ NSString * cacheFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; cacheFolder = [cacheFolder stringByAppendingPathComponent:@"JiangSu"]; NSFileManager * fmgr = [NSFileManager defaultManager]; if (![fmgr fileExistsAtPath:cacheFolder]) { NSError * error; [fmgr createDirectoryAtPath:cacheFolder withIntermediateDirectories:YES attributes:nil error:&error]; } cacheFolder = [cacheFolder stringByAppendingPathComponent:fileName]; if ([content writeToFile:cacheFolder atomically:YES encoding:NSUTF8StringEncoding error:NULL] == YES) { NSLog(@"保存成功"); } } -(NSString*)filterString:(NSString*)aString filterWith:(NSString*)fStr{ aString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; if ([aString rangeOfString:fStr].location != NSNotFound) { aString = [aString stringByReplacingOccurrencesOfString:fStr withString:@""]; [self filterString:aString filterWith:fStr]; } return aString; } /* * 检查输入的金额是否符合金额的输入规则 * */ -(bool)doCheckInputAmount:(NSString *)textFieldtext replacementString:(NSString *)string { int length_f = [textFieldtext length]; if([string length]>1) return FALSE; if(![string isEqualToString:@"."]&& [textFieldtext length]){ if ([textFieldtext length]>=16 && ![string isEqualToString:@""] ) { return FALSE; } } if( [string isEqualToString:@""] ) return TRUE; // 判断输入字符[是否合格] unichar curChar_f = [string characterAtIndex:0]; if( (curChar_f>='0'&&curChar_f<='9') || (curChar_f=='.') ) { if( curChar_f=='.' ) { if(length_f==0) // 首字节不能为. return FALSE; if( [textFieldtext rangeOfString:@"."].length>0 ) // .不能重复 return FALSE; } if(length_f>0) { if( [textFieldtext characterAtIndex:0]=='0' ) // 如果首输入为0,第二必须为. { if( curChar_f!='.'&& length_f==1 ) { return FALSE; } } } if( length_f>=3 ) { // 小数点后2位不能在输入 if( [textFieldtext characterAtIndex:length_f-3]=='.' ) return FALSE; } return TRUE; } return FALSE; } @end @implementation NSDictionary (extra) //根据key值的到字典中的object - (id)getObjectByKey:(NSString*)key { NSArray *array = [key componentsSeparatedByString:@"/"]; NSDictionary *dic = self; for (int i=0; i<[array count]-1; i++) { dic = [dic objectForKey:[array objectAtIndex:i]]; } return [dic objectForKey:[array objectAtIndex:[array count]-1]]; } /* 根据key值得到字符串,如为空则返回@“” */ - (id)getStringByKey:(NSString*)key { NSArray *array = [key componentsSeparatedByString:@"/"]; NSDictionary *dic = self; for (int i=0; i<[array count]-1; i++) { dic = [dic objectForKey:[array objectAtIndex:i]]; } NSString *temp = [dic objectForKey:[array objectAtIndex:[array count]-1]]; if (!temp) { temp = @""; } return temp; } /* 根据key值把字典中的list字典转换成数组 使用方法:NSArray *array = [self getArrayByString:@"Data/responseBody/eventList"]; */ - (NSMutableArray*)getArrayByString:(NSString*)string { NSDictionary *dic = [self getObjectByKey:string]; NSMutableArray *array = [[NSMutableArray alloc] init]; if (dic && [dic isKindOfClass:[NSDictionary class]]) { NSArray *keys = [dic allSortedKeys]; for (int i=0; i<[keys count]; i++) { NSString *key = [keys objectAtIndex:i]; [array addObject:[dic objectForKey:key]]; } } return [array autorelease]; } /* 根据参数返回排序的keys */ - (NSArray*)sortedKeysByString:(NSString*)elementName { NSMutableArray *array = [NSMutableArray array]; for (int i=0; i<[[self allKeys] count]; i++) { if (i == 0) { [array addObject:[NSString stringWithFormat:@"%@", elementName]]; continue; } [array addObject:[NSString stringWithFormat:@"%@%d", elementName, i]]; } return array; } /* 对key进行排序,替代[dic allKeys],对keys进行排序 */ - (NSArray *)allSortedKeys { if ([self objectForKey:@"ITEM"]) { NSMutableArray *array = [NSMutableArray array]; [array addObject:@"ITEM"]; for (int i=1; i<[[self allValues] count]; i++) { [array addObject:[NSString stringWithFormat:@"ITEM%d", i]]; } return array; } else if ([self objectForKey:@"ITEM"]) { NSMutableArray *array = [NSMutableArray array]; [array addObject:@"ITEM"]; for (int i=1; i<[[self allValues] count]; i++) { [array addObject:[NSString stringWithFormat:@"ITEM%d", i]]; } return array; } return [self allKeys]; } @end @implementation NSString (chnbs) -(void)saveApiCacheFileName:(NSString*)fileName{ NSString * cacheFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; cacheFolder = [cacheFolder stringByAppendingPathComponent:@"JiangSu"]; NSFileManager * fmgr = [NSFileManager defaultManager]; if (![fmgr fileExistsAtPath:cacheFolder]) { NSError * error; [fmgr createDirectoryAtPath:cacheFolder withIntermediateDirectories:YES attributes:nil error:&error]; } cacheFolder = [cacheFolder stringByAppendingPathComponent:fileName]; [self writeToFile:cacheFolder atomically:YES encoding:NSUTF8StringEncoding error:NULL]; } @end