NSDictionary-Categories
来源:互联网 发布:域名怎么绑定服务器ecs 编辑:程序博客网 时间:2024/06/06 12:34
#import "NSDictionary+SafeAccess.h"@implementation NSDictionary (SafeAccess)- (NSString*)stringForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return @""; } if ([value isKindOfClass:[NSString class]]) { return (NSString*)value; } if ([value isKindOfClass:[NSNumber class]]) { return [value stringValue]; } return nil;}- (NSNumber*)numberForKey:(id)key{ id value = [self objectForKey:key]; if ([value isKindOfClass:[NSNumber class]]) { return (NSNumber*)value; } if ([value isKindOfClass:[NSString class]]) { NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; [f setNumberStyle:NSNumberFormatterDecimalStyle]; return [f numberFromString:(NSString*)value]; } return nil;}- (NSArray*)arrayForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return nil; } if ([value isKindOfClass:[NSArray class]]) { return value; } return nil;}- (NSDictionary*)dictionaryForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return nil; } if ([value isKindOfClass:[NSDictionary class]]) { return value; } return nil;}- (NSInteger)integerForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSString class]] || [value isKindOfClass:[NSNumber class]]) { return [value integerValue]; } return 0;}- (NSUInteger)unsignedIntegerForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSString class]] || [value isKindOfClass:[NSNumber class]]) { return [value unsignedIntegerValue]; } return 0;}- (BOOL)boolForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return NO; } if ([value isKindOfClass:[NSNumber class]]) { return [value boolValue]; } if ([value isKindOfClass:[NSString class]]) { return [value boolValue]; } return NO;}- (int16_t)int16ForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]]) { return [value shortValue]; } if ([value isKindOfClass:[NSString class]]) { return [value intValue]; } return 0;}- (int32_t)int32ForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]] || [value isKindOfClass:[NSString class]]) { return [value intValue]; } return 0;}- (int64_t)int64ForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]] || [value isKindOfClass:[NSString class]]) { return [value longLongValue]; } return 0;}- (char)charForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]] || [value isKindOfClass:[NSString class]]) { return [value charValue]; } return 0;}- (short)shortForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]]) { return [value shortValue]; } if ([value isKindOfClass:[NSString class]]) { return [value intValue]; } return 0;}- (float)floatForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]] || [value isKindOfClass:[NSString class]]) { return [value floatValue]; } return 0;}- (double)doubleForKey:(id)key{ id value = [self objectForKey:key]; if (value == nil || value == [NSNull null]) { return 0; } if ([value isKindOfClass:[NSNumber class]] || [value isKindOfClass:[NSString class]]) { return [value doubleValue]; } return 0;}//CG- (CGFloat)CGFloatForKey:(id)key{ CGFloat f = [self[key] doubleValue]; return f;}- (CGPoint)pointForKey:(id)key{ CGPoint point = CGPointFromString(self[key]); return point;}- (CGSize)sizeForKey:(id)key{ CGSize size = CGSizeFromString(self[key]); return size;}- (CGRect)rectForKey:(id)key{ CGRect rect = CGRectFromString(self[key]); return rect;}@end
0 0
- NSDictionary-Categories
- iOS-Categories/IOS-Categories/Foundation/NSDictionary/NSDictionary+SafeAccess.m
- Categories
- Categories
- Categories
- Categories
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- NSDictionary
- Android之APK文件签名----keytool和jarsigner
- 深入理解HashMap
- 设计模式之-单例模式
- ArcGIS Engine 地图制作 C#
- 搞笑 20150422
- NSDictionary-Categories
- 第15题 插入排序
- Linux下动态共享库加载时的搜索路径详解
- Android 5.0 CardView 应用
- phpcms v9 数据库操作函数
- 边界布局管理器
- C#,ArcGIS Engine开发入门教程
- linux下BASH命令下,显示文件夹各颜色的含义
- 判断闰年