2016-05-02 8 views
-1

Ich versuche, das Feld 'field_friendbio' in meinem UILabel anzuzeigen. Wie soll ich diese Zeile schreiben? self.mapFriendData ist ein NSMutableArray (Daten werden von einem früheren Controller an self.mapFriendData übergeben).Anzeigeobjekt von NSMutableArray in UILabel

Gerade jetzt, ich habe:

.h

@property (nonatomic, strong) NSMutableArray *mapFriendData; 

.m

self.userBio.text = self.mapFriendData[@"field_friendbio"][@"und"][0][@"safe_value"]; 

Aber das nur mit NSDictionary funktioniert.

Der Datenausgang:

"field_friendbio" =   { 
      und =    (
           { 
        format = "<null>"; 
        "safe_value" = "Hi my name is Blair. "; 
        value = "Hi my name is Blair. "; 
       } 
      ); 
     }; 

Bevor ich es dem UILabel nennen, mapFriendData ist:

THIS IS MAP FRIEND DATA (
     { 
     body =   (
     ); 
     changed = 1462155513; 
     cid = 0; 
     comment = 2; 
     "comment_count" = 0; 
     created = 1462155513; 
     data = "a:1:{s:7:\"overlay\";i:1;}"; 
     "field_address1" =   { 
      und =    (
           { 
        format = "<null>"; 
        "safe_value" = "1275 This Street, LA, California"; 
        value = "1275 This Street, LA, California"; 
       } 
      ); 
     }; 
     "field_friendbio" =   { 
      und =    (
           { 
        format = "<null>"; 
        "safe_value" = "Hi my name is Blair."; 
        value = "Hi my name is Blair."; 
       } 
      ); 
     }; 

Antwort

0

Wie Sie sagten, es ein Array ist, so dass Sie den Index zur Verfügung stellen müssen der dict Sie zuerst erhalten möchten:

self.userBio.text = self.mapFriendData[0][@"field_friendbio"][@"und"][0][@"safe_value"]; 
            ^
            "index of your field_friendbio dict" 
+0

dies stürzt nicht meine App, und die dat a kommt durch, aber aus irgendeinem Grund ist mein Etikett leer? Und wenn ich diese Zeile logge: self.userBio.text = self.mapFriendData [0] [@ "field_friendbio"] [@ "und"] [0] [@ "safe_value"]; Die Daten werden laut und klar wiedergegeben, wie Sie es erwarten. Was gibt? haha –

+0

@BlairWarner 1. können Sie die gesamte 'self.mapFriendData' in diesem Controller bekommen, bevor Sie' self.userBio.text' zuweisen? Und stellen Sie sicher, dass die Daten tatsächlich von Ihrem vorherigen Controller stammen. 2. Wo haben Sie den 'self.userBio.text' zugewiesen, wird' self.userBio' zu diesem Zeitpunkt zugewiesen? – Kjuly

+0

Siehe Bearbeiten oben. self.mapFriendData ist definitiv vorhanden. UILabel wird in viewDidLoad zugewiesen. –