在Swift中,如何操作typealias中的对象?

时间:2016-07-07 14:33:50

标签: swift type-alias

我有一个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对象 - 操纵它 - 然后将其发送?

1 个答案:

答案 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