Swift2 用于在收藏视图中显示照片的Alamofire扩展(SWIFT 2.0)

Swift2 用于在收藏视图中显示照片的Alamofire扩展(SWIFT 2.0),swift2,alamofire,Swift2,Alamofire,您好,我需要一点帮助与此代码。我在这个链接中遵循了这个例子 我在swift 1.x中的代码是,它工作得非常好 extension Alamofire.Request { class func imageResponseSerializer() -> Serializer { return { request, response, data in if data == nil { return (nil, ni

您好,我需要一点帮助与此代码。我在这个链接中遵循了这个例子

我在swift 1.x中的代码是,它工作得非常好

extension Alamofire.Request {
    class func imageResponseSerializer() -> Serializer {
        return { request, response, data in
            if data == nil {
                return (nil, nil)
            }

            let image = UIImage(data: data!, scale: UIScreen.mainScreen().scale)

            return (image, nil)
        }
    }

    func responseImage(completionHandler: (NSURLRequest, NSHTTPURLResponse?, UIImage?, NSError?) -> Void) -> Self {
        return response(serializer: Request.imageResponseSerializer(), completionHandler: { (request, response, image, error) in
            completionHandler(request, response, image as? UIImage, error)
        })
    }
}
但后来我迁移到Swift 2.0,在互联网上找到了另一个代码,因为第一个代码已经不起作用了

extension Alamofire.Request {
    class func imageResponseSerializer() -> GenericResponseSerializer<UIImage> {
        return GenericResponseSerializer { request, response, data in
            if data == nil {
                return (nil, nil)
            }

            let image = UIImage(data: data!, scale: UIScreen.mainScreen().scale)

            return (image, nil)
        }
    }

    public func responseImage(completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) -> Self {
        return response(serializer: Request.responseDataSerializer(), completionHandler: completionHandler)
    }
}

struct GenericResponseSerializer<T> : ResponseSerializer {
    typealias SerializedObject = T
    var serializeResponse: (NSURLRequest?, NSHTTPURLResponse?, NSData?) -> (T?, NSError?)
    init(serializeResponse: (NSURLRequest?, NSHTTPURLResponse?, NSData?) -> (T?, NSError?))
}
我已经将Alamofire升级到了最新版本。(昨天)


谢谢

阿拉莫菲尔2.0经过重新设计,请看这里:

您的代码如下所示:

cell.request = Alamofire.request(.GET, imageURL!)
         .responseData { request, _, result in
        if let error = result.error as? NSError {
          //handle error
          return
        }else{

         //Check if image is correct
         //result.value
        }
    }

看起来,
.responseImage
已经不存在了。

Alamofire 2.0已经重新设计,请看这里:

您的代码如下所示:

cell.request = Alamofire.request(.GET, imageURL!)
         .responseData { request, _, result in
        if let error = result.error as? NSError {
          //handle error
          return
        }else{

         //Check if image is correct
         //result.value
        }
    }

似乎
.responseImage
不再存在。

谢谢!有了新的Alamofire,就不需要扩展了。我将用最终代码编辑我的帖子,因为我做了一些修改。谢谢!有了新的Alamofire,就不需要扩展了。我将用最终代码编辑我的帖子,因为我做了一些修改。