2017-04-18 1 views
1

Screenshot Herealamofire objet mapper .. Pourquoi imprimer le nom de mon projet?

Remarque: Ceci est mon premier fichier rapide

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)") 

    } 
} 

Note: deuxième fichier rapide

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"])  
    } 
} 

entrée

print("아이템: \(MovieResponse?.channel?.item as AnyObject)") 
print("배우:\(MovieResponse?.channel?.item.first?.actor as AnyObject)") 

sortie

아이템: (
    "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 est mon nom de projet.

Je veux connaître le nom de l'acteur, mais il y a juste le nom de mon projet. (le nombre est correct)

+0

pouvez-vous publier votre réponse brute? aussi - essayez de traduire les commentaires de hangul, parce que dans un endroit vous faites référence à "acteur" mais dans le code il est écrit en coréen. –

+0

Correction de l'espacement et de la sémantique pour rendre la question plus compréhensible en anglais. J'ai essayé de coller le plus possible au ton/à la langue de l'auteur, tout en condensant et en clarifiant quelques choses que j'ai comprises (peut-être incorrectement, mais j'espère que non). – BHendricks

+0

En plus de ma modification, en termes d'attaque de la réponse: si vous avez ajouté votre format de données @ 이재진 qui aiderait à répondre à la question - tel quel, il semble qu'il existe un objet 'Actor' à partir duquel vous voulez obtenir le "nom de l'acteur", mais à partir des informations affichées, je ne sais pas comment cela est stocké dans votre application. – BHendricks

Répondre

0

Vous devez convertir la propriété d'acteur en String (en supposant qu'il en soit une) pour afficher correctement le nom de l'acteur dans votre instruction print.

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

ne fonctionne pas T^T mais merci beaucoup! –