Отдельные классы Alamofire для CRUD

Ошибка ViewController.swift Отсутствует аргумент для параметра № 2 в вызове Router.createSession(["caio":"teste"])

func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser) {
    println("User: \(user)")
    println("User ID: \(user.objectID)")
    println("User Name: \(user.name)")
    var userEmail = user.objectForKey("email") as String
    println("User Email: \(userEmail)")

    Alamofire.request(Router.CreateSession(["caio":"teste"])).response { (request, response, data, error) in
        println(request)
        println(response)
        println(error)
    }

}

Файл Router.swift содержит crud Router

enum Router: URLRequestConvertible {
static let baseURLString = "http://www.teste.com.br"
static var OAuthToken: String?

case CreateSession([String: AnyObject])
case ReadSession(String)
case UpdateSession(String, [String: AnyObject])
case DestroySession(String)

var method: Alamofire.Method {
    switch self {
    case .CreateSession:
        return .POST
    case .ReadSession:
        return .GET
    case .UpdateSession:
        return .PUT
    case .DestroySession:
        return .DELETE
    }
}

var path: String {
    switch self {
    case .CreateSession:
        return "/sessions"
    case .ReadSession(let username):
        return "/sessions/\(username)"
    case .UpdateSession(let username, _):
        return "/sessions/\(username)"
    case .DestroySession(let username):
        return "/sessions/\(username)"
    }
}

var URLRequest: NSURLRequest {
    let URL = NSURL(string: Router.baseURLString)!
    let mutableURLRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
    mutableURLRequest.HTTPMethod = method.rawValue

    if let token = Router.OAuthToken {
        mutableURLRequest.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
    }

    switch self {
    case .CreateSession(let parameters):
        return Alamofire.ParameterEncoding.JSON.encode(mutableURLRequest, parameters: parameters).0
    case .UpdateSession(_, let parameters):
        return Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: parameters).0
    default:
        return mutableURLRequest
    }
}

}

Я ценю помощь, я делаю тесты, которые нуждаются в этой дряни для реализации


person Caio Biodere    schedule 17.12.2014    source источник


Ответы (1)


Убедитесь, что в верхней части файла правильно указано import Alamofire. Это исправило это для меня.

person Nick Wargnier    schedule 18.12.2014