{
  "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"
  ]
}
