Ich verwende AlamofireObjectMapper Ich brauche eine func zu machen, die einen generischen Parameter wie das nehmen:Versuche Allgemein Typen als Parameter in Swift passiert
func doSomething < T : BaseMappable > (myCustomClass : T)
{
Alamofire.request("url", method: .get, parameters: nil, encoding: JSONEncoding.default, headers: APIKeys().AuthorizedHeader).responseObject(completionHandler: { (response :DataResponse<T>) in
let data = response.result.value
if let array = data?.objects
{
for ar in array
{
self.allPromotions.append(ar)
}
}
})
}
aber iam immer Fehler:
Verwendung von undeclared Typ 'myCustomClass'bearbeiten wie Sie mir antworten in den Kommentaren fixed ich den Fehler aber Ich habe einen anderen Fehler, wenn iam versuchen, diese Methode
ich die Methode, wie die
doSomething(myCustomClass: Promotions)
genannt zu nennen, aber ich habe einen anderen Fehler
Argument Typ ‚Promotions.Type‘ nicht konform zu erwarteten Typ 'BaseMappable'
und hier ist mein Abschlussball otions Klasse
import ObjectMapper
class Promotions : Mappable {
var id:Int?
var workshop_id:Int?
var title:String?
var desc:String?
var start_date:String?
var expire_date:String?
var type:String?
var objects = [Promotions]()
required init?(map: Map){
}
func mapping(map: Map) {
id <- map["id"]
workshop_id <- map["workshop_id"]
title <- map["title"]
desc <- map["desc"]
start_date <- map["start_date"]
expire_date <- map["expire_date"]
type <- map["type"]
objects <- map["promotions"]
}
}
Wie kann ich fix, dass
es den Fehler behoben, aber wenn ich nannte es wie das 'doSomething (myCustomClass: Promotions)' ich bekam ein anderer Fehler ** Argument Typ ‚Promotions.Type‘ entspricht nicht erwarteten Typ ‚BaseMappable ** – Muhammed
Dieser Fehler ist ziemlich einfach, es sagt genau was falsch ist ... Sie müssen die Klasse 'Promotions' konform zum' Protocol BaseMappable' machen. –
Promotions erbt von Mappable und Mappable erbt von BaseMappable – Muhammed