Swift2 用于在收藏视图中显示照片的Alamofire扩展(SWIFT 2.0)
您好,我需要一点帮助与此代码。我在这个链接中遵循了这个例子 我在swift 1.x中的代码是,它工作得非常好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
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,就不需要扩展了。我将用最终代码编辑我的帖子,因为我做了一些修改。