Skip to content
This repository has been archived by the owner on Mar 18, 2021. It is now read-only.

serejahh/UnboxedAlamofire

Repository files navigation

UnboxedAlamofire

⚠️ DEPRECATED

UnboxedAlamofire is deprecated as well as Unbox is deprecated in favor of Swift’s built-in Codable API.


Build Status CocoaPods Compatible Carthage Compatible Platform

Alamofire + Unbox: the easiest way to download and decode JSON into swift objects.

Features

  • Unit tested
  • Fully documented
  • Mapping response to objects
  • Mapping response to array of objects
  • Keypaths
  • Nested keypaths
  • For Swift 2.x use v. 1.x and swift2 branch
  • For Swift 3.x use v. 2.x

Usage

Objects you request have to conform Unboxable protocol.

Get an object

Alamofire.request(url, method: .get).responseObject { (response: DataResponse<Candy>) in
    // handle response
    let candy = response.result.value
    
    // handle error
    if let error = response.result.error as? UnboxedAlamofireError {
        print("error: \(error.description)")
    }
}

Get an array

Alamofire.request(url, method: .get).responseArray { (response: DataResponse<[Candy]>) in
    // handle response
    let candies = response.result.value
    
    // handle error
    if let error = response.result.error as? UnboxedAlamofireError {
        print("error: \(error.description)")
    }
}

KeyPath

Also you can specify a keypath in both requests:

Alamofire.request(url, method: .get).responseObject(keyPath: "response") { (response: DataResponse<Candy>) in
    // handle response
    let candy = response.result.value
    
    // handle error
    if let error = response.result.error as? UnboxedAlamofireError {
        print("error: \(error.description)")
    }
}

Installation

pod 'UnboxedAlamofire', '~> 2.0'
github "serejahh/UnboxedAlamofire" ~> 2.0