나는 SwitfyJson을 사용하여 일반 살균기 기능을 만들려고합니다. 내가 서버 응답을 받고 있어요 어디 현재 모든, 내가 구문 분석있어 다음과 같이이다 :프로토콜을 준수하는 클래스 유형을 전달하는 방법
let json = JSON(data : networkResponse.data!)
let usersJson = json["data"]
var users = [User]()
for (_,subJson):(String, JSON) in usersJson {
let user = User(json: subJson)
users.append(user)
}
지금이 모든 내가 반응을 얻고 있었다 반복이다. 제네릭 기능을 사용하려고합니다.
그러나이 "classType"은 Swift에서 사용할 수 없습니다. 이것을 달성 할 수있는 방법이 있습니까? 당신은 당신의 직렬화-방법은 제네릭 형식을 사용할 수 있습니다
static func serializeToArray(json:[String:AnyObject]) {
var serializedObjects = [Serializable]()
guard let jsonArray = json["data"] as? Array<[String:AnyObject]> else {
return [Serializable]()
}
for jsonDict in jsonArray {
serializedObjects.append(Serializable(init:jsonDict))
}
return serializedObjects
}
감사합니다, 멋진 대답이 될 것입니다 ! 난 그냥 더 나은 가독성을 위해 일반 이름을 'T'로 변경했습니다 "정적 func serializeToArray (데이터 : NSData, _ : T.Type) -> [T]" –
MCMatan