2017-04-18 5 views
1

Screenshot HereAlamofire Objekt Mapper .. Warum drucken Sie meinen Projektnamen?

Hinweis: Dies ist meine erste flink Datei

override func viewDidLoad() { 
    super.viewDidLoad() 

    let encodingURL = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) 

    Alamofire.request(encodingURL!).responseObject { (response: DataResponse<channel>) in 

     let MovieResponse = response.result.value 

     print("결과: \(MovieResponse?.channel?.result as AnyObject)") 
     print("타이틀: \(MovieResponse?.channel?.title as AnyObject)") 
     print("토탈카운트: \(MovieResponse?.channel?.totalCount as AnyObject)") 
     print("전체:\(MovieResponse?.channel as AnyObject)") 
     print("아이템: \(MovieResponse?.channel?.item as AnyObject)") 
     print("배우:\(MovieResponse?.channel?.item.first?.actor as AnyObject)") 

    } 
} 

Hinweis: zweite flink Datei

import Foundation 
import ObjectMapper 

class channel : Mappable { 
    var channel : channelComponents? 
    required init?(map: Map){ } 

    func mapping(map: Map) { 
     self.channel <- map["channel"]  
    } 
} 

class channelComponents : Mappable { 
    var totalCount : Int? 
    var result : Int? 
    var title : String? 
    var item : [item] 

    required init?(map: Map){ 
     item = []  
    } 

    func mapping(map: Map) {   
     self.totalCount <- map["totalCount"] 
     self.result <- map["result"] 
     self.title <- map["q"] 
     self.item <- map["item"] 
    } 
} 

class item : Mappable { 
    var actor : [Actor] 

    required init?(map: Map) {  
     actor = []   
    } 

    func mapping(map: Map) {   
     self.actor <- map["actor"]  
    } 
} 

class Actor : Mappable { 
    var content : String? 
    var link : String? 

    required init?(map: Map) { } 

    func mapping(map: Map) { 
     self.content <- map["content"] 
     self.link <- (map["link"])  
    } 
} 

Eingang

Ausgang

아이템: (
    "Movie_D.item" 
) 
배우:(
"Movie_D.Actor", 
"Movie_D.Actor", 
"Movie_D.Actor", 
"Movie_D.Actor", 
"Movie_D.Actor", 
"Movie_D.Actor", 
"Movie_D.Actor" 
) 

Movie_D ist mein Projektnamen.

Ich möchte den Namen des Schauspielers wissen, aber es gibt nur meinen Projektnamen. (Die Anzahl ist richtig)

+0

Können Sie Ihren Antwortrohwert posten? auch - versuche, kommentare aus hangul zu übersetzen, weil du an einer stelle auf "actor" stehst, aber in code ist es in koreanisch geschrieben. –

+0

Fixed-spacing und einige Semantiken, um die Frage in Englisch verständlicher zu machen. Ich versuchte, so nah wie möglich am Ton/der Sprache des Autors zu bleiben, während ich einige Dinge, die ich verstand (vielleicht falsch, aber hoffentlich nicht), verdichtete und klärte. – BHendricks

+0

Zusätzlich zu meiner Bearbeitung, in Bezug auf den Angriff auf die Antwort: Wenn Sie Ihr Datenformat hinzugefügt @ 재진재진, die helfen würde, die Frage zu beantworten - so ist es, dass es scheint, dass es ein 'Akteur'-Objekt, von dem Sie erhalten möchten 'Name des Schauspielers', aber aus den angezeigten Informationen bin ich mir nicht sicher, wie das in deiner App gespeichert ist. – BHendricks

Antwort

0

Sie sollten die actor-Eigenschaft in eine String (vorausgesetzt, es handelt sich um eine) um den Namen des Schauspielers ordnungsgemäß in Ihrer print-Anweisung anzuzeigen.

print("배우:\(String(describing: MovieResponse?.channel?.item.first?.actor))") 
+0

funktioniert nicht T^T, aber vielen Dank! –

Verwandte Themen