| { |
| "name": "SafeCast", |
| "version": "1.1.0", |
| "summary": "Safe Casting in Objective-C", |
| "description": " * Cast in Objective-C, not in C\n * Be Safe\n * Be Concice\n \n Objective-C is C, and C can be perilous. Don't blindly cast objects. Stick to high-level language features, and write more readable code.\n \n Quite simply, you can do things like this:\n \n ```\n NSMutableArray *mArray = [NSMutableArray safe_cast:array];\n // `mArray` is `nil` if `array` is not a mutable array, and is `array` if it is mutable.\n ```\n \n Or only perform a selector if the target responds to it without an explicit check:\n \n ```\n [array safe_makeObjectsSafelyPerformSelector:@selector(method)];\n ```\n \n Or enumerate with a block on objects that are of a specific kind:\n \n ```\n [array safe_enumerateObjectsOfKind:[MyObject class]\n usingBlock:^(MyObject *obj, NSUInteger idx, BOOL *stop) {\n [obj setNumber:@3];\n }];\n ```\n \n And lots of other similar methods on collections.\n", |
| "homepage": "https://github.com/fcanas/SafeCast", |
| "license": { |
| "type": "MIT", |
| "file": "LICENSE" |
| }, |
| "authors": { |
| "Fabian Canas": "fcanas@gmail.com" |
| }, |
| "social_media_url": "http://twitter.com/fcanas", |
| "requires_arc": true, |
| "platforms": { |
| "ios": "4.0", |
| "osx": "10.6" |
| }, |
| "source": { |
| "git": "https://github.com/fcanas/SafeCast.git", |
| "tag": "v1.1.0" |
| }, |
| "source_files": [ |
| "Classes", |
| "Classes/**/*.{h,m}" |
| ], |
| "public_header_files": [ |
| "Classes/NSArray+SafeCast.h", |
| "Classes/NSDictionary+SafeCast.h", |
| "Classes/NSObject+SafeCast.h", |
| "Classes/NSOrderedSet+SafeCast.h", |
| "Classes/NSSet+SafeCast.h", |
| "Classes/SafeCast.h", |
| "Classes/SafeCastCollections.h" |
| ] |
| } |