Я хочу передать любой тип класса как общий в замыкание при выполнении вызова API и вернуть объект этого класса после получения данных с сервера, но я не могу реализовать это надлежащим образом. Может кто-нибудь, пожалуйста, помогите мне в этом отношении?
Мой класс API:
class APICall: NSObject {
public func getDataFromServer<T>(urlString:String, fileType: FileType, completionBlock: (([T]) -> Void)!) {
//API calling here and parsing data and loaded to imageContainer, now can't pass imageContainer in completionBlock
let imageContainer = [ImageInfo]()
completionBlock(imageContainer)
}
}
Я также не могу правильно вызвать этот метод из вызывающего класса:
var imageContainer = [ImageInfo]()
self.aPICall.getDataFromServer(urlString: PATH_FOR_JSON_DATA, fileType: .json, completionBlock: {(data) in
print(data)
self.imageContainer = data
})