我有一个typealias我希望在接收它作为一个完成处理程序之后并在将它发送给另一个之前操纵其中的一个对象。所以
typealias GalleryResponse = (gallery: MLGallery?, error: NSError?) -> ()
以及我想干预类型的函数:
func getGalleryForDiscover(onCompletion: galleryResponse) {
let endpointURL = kGalleryURL + kMetaDataFilter + kLimitURL20
/// Would like to do something here with the MLGallery object in the galleryResponse closure.
makeRequestToCurbsAt(endpointURL, completionHandler: onCompletion)
}
如何访问该MLGallery
对象 - 操纵它 - 然后将其发送?
答案 0 :(得分:1)
然后,您为makeRequestToCurbsAt
提供了自己的完成处理程序
操纵传递给该处理程序的MLGallary
实例,然后将其传递给原始处理程序。像这样:
func getGalleryForDiscover(onCompletion: galleryResponse) {
let endpointURL = kGalleryURL + kMetaDataFilter + kLimitURL20
makeRequestToCurbsAt(endpointURL, completionHandler: {
(gallery: MLGallery?, error: NSError?) in
// do something with gallery
// invoke the original
onCompletion (gallery: gallery, error: error)
})
}
注意:实际上,您的类型标识符应该大写为GalleryResponse
。