2016-05-02 10 views
-1

私はUILabelにフィールド 'field_friendbio'を表示しようとしています。この行をどのように書くべきですか? self.mapFriendDataはNSMutableArrayです(データは以前のコントローラからself.mapFriendDataに渡されます)。今UILabelのNSMutableArrayからオブジェクトを表示

、私が持っている:

の.h

@property (nonatomic, strong) NSMutableArray *mapFriendData; 

.M

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

しかし、唯一のは、NSDictionaryので動作しています。

データ出力:

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

私はUILabelにそれを呼び出す前に、mapFriendDataは次のとおりです。

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."; 
       } 
      ); 
     }; 

答えて

0

あなたが言ったように、それは配列ですので、あなたは、インデックスを提供する必要がありますあなたが最初に取得したい辞書の:

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

これは私のアプリをクラッシュさせないし、datしかし、何らかの理由で私のラベルは空ですか?そして、私はこの行を記録します:self.userBio.text = self.mapFriendData [0] [@ "field_friendbio"] [@ "und"] [0] [@ "safe_value"]; 期待通りに、データは大声で明確に伝わります。何がありますか? haha –

+0

@BlairWarner 1. 'self.userBio.text'に代入する前に 'self.mapFriendData'全体をこのコントローラに入れることができますか?そして、以前のコントローラから実際にデータが渡されていることを確認してください。 2.どこで 'self.userBio.text'を割り当てましたか?そのとき、' self.userBio'は割り当てられましたか? – Kjuly

+0

上記の編集を参照してください。 self.mapFriendDataが確実に存在します。 UILabelは、viewDidLoadで割り当てられます。 –

関連する問題