2016-09-12 9 views
0

私はのSQLiteからデータを取得しており、NSMutableArrayに変換しています。今度は配列オブジェクトの値をUITableViewCellラベルに追加する必要があります。NSmutablearrayからネストされた配列のオブジェクト値を取得する方法?

arraydata (
    { 
    UUID = 995443; 
    "group_id" = 41917; 
    name = "Maninderveer Kaur"; 
    "roll_no" = 1; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995445; 
    "group_id" = 41917; 
    name = "Manjot Kaur"; 
    "roll_no" = 2; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995447; 
    "group_id" = 41917; 
    name = "Prabhjot Sharma"; 
    "roll_no" = 3; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995449; 
    "group_id" = 41917; 
    name = "Prabhjot Singh"; 
    "roll_no" = 4; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995451; 
    "group_id" = 41917; 
    name = "Prince Parbhakar"; 
    "roll_no" = 5; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995453; 
    "group_id" = 41917; 
    name = "Puneet Kaur"; 
    "roll_no" = 6; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995455; 
    "group_id" = 41917; 
    name = "Rajveer Kaur"; 
    "roll_no" = 7; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995457; 
    "group_id" = 41917; 
    name = "Sahajpreet Kaur"; 
    "roll_no" = 8; 
    "session_token" = bHKkctTPPyULIEy6rh4UKKTO9; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 1824273; 
    "group_id" = 41933; 
    name = Ankit; 
    "roll_no" = 1104; 
    "session_token" = 9Ea6FqaIKgr9gZ5Gh6UWhVQTj; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 1824271; 
    "group_id" = 41933; 
    name = Anuj; 
    "roll_no" = 1103; 
    "session_token" = 9Ea6FqaIKgr9gZ5Gh6UWhVQTj; 
    status = present; 
    "user_guid" = 995789; 
}, 
    { 
    UUID = 995695; 
    "group_id" = 41933; 
    name = "Anureet Kaur"; 
    "roll_no" = 14; 
    "session_token" = 9Ea6FqaIKgr9gZ5Gh6UWhVQTj; 
    status = present; 
    "user_guid" = 995789; 
}, 
) 

この行でセルの拡張ラベルのデータを追加しました。私は、セルのラベルに値を追加するとき、私はこのエラーを取得しています

cell.stdntName.text = [array valueForKey:@"name"]; 

をキャッチされない例外により「NSInvalidArgumentException」、理由にアプリを終了:「 - [__ NSArrayI長]:認識されていないセレクタがに送信されましたインスタンス0x7ffcab275550 '。

上記の詳細はOKだと思います。私が間違っているところでいくつか提案してください。

+1

のようにしてみてください?あなたは配列が何であるか理解していますか? – Avi

+0

申し訳ありませんが、私はまた、インデックス値 –

答えて

1

indexPathに従って配列から特定の辞書を抽出し、その辞書から値を取得します。

はこれを試してみてください:

NSDictionary *dict = array[indexPath.row] 
cell.stdntName.text = [dict valueForKey:@"name"]; 
+1

thats私に感謝の仕事に応じてバレーを取得しようとしました。私のばかげた質問を申し訳ありません。 –

0

//あなたが配列の `name`のと呼ばれる性質を持っていると思いますなぜこの

if [(array count] > indexpath.row) { 
    cell.stdntName.text = [[array objectAtIndex: indePath.row] valueForKey:@"name"]; 
} 
+1

範囲チェックは悪い考えです。テーブルビューを意識せずに突然変異したデータソースである配列がプログラマのバグです。できるだけ早く実行することをお勧めしますが、ランタイム例外をクラッシュさせます。 – Avi

+0

はい、いいですが、どのようにしてその配列(その配列)がそのテーブルビューのデータソースかどうかを知ることができます。 –

+0

セルにデータを取り込んでデータを取り込む場合は、データソースです。彼は理論的には複合データソースを持つことができますが、それは過度に複雑であり、そうではありません。明らかに、このデータが補足的なものであれば、それがあるとすれば、そのデータがあるかどうかを確認する必要があります。しかし、それは通常の場合ではありません。 – Avi

関連する問題