2016-09-12 1 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; 
}, 
) 

이 줄에서 셀 확장자 레이블에 데이터를 추가했습니다. 응용 프로그램을 종료

인해 'NSInvalidArgumentException'캐치되지 않는 예외에 이유 : I 셀 라벨에 값을 추가 할 때

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

는이 오류를 얻고있다 '- [__ NSArrayI 길이] : 인식 할 수없는 선택기로 전송 인스턴스 0x7ffcab275550 '입니다.

위의 세부 사항은 괜찮다고 생각합니다. 제가 잘못 가고있는 곳에서 몇 가지 제안을하십시오.

+1

같은 시도 // 당신이 배열 name''라는 속성을 것이라고 생각 이유는 무엇입니까? 배열이 무엇인지 이해합니까? – Avi

+0

미안하지만, 인덱스 값 –

답변

1

indexPath에 따라 배열에서 특정 사전을 추출한 다음 해당 사전에서 값을 가져옵니다.

이 시도 :

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

에 따라 vale을 얻으려고했는데 감사합니다. 내 바보 같은 질문에 대해 유감입니다. –

0

을이

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

범위 검사는 좋지 않습니다. 테이블 뷰없이 변형 된 데이터 소스 인 배열이 인식되면 프로그래머 버그입니다. 가능한 한 빨리 찾으십시오. 그러나 런타임 예외로 인해 충돌이 발생하게하십시오. – Avi

+0

네, 그 괜찮아요,하지만 우리가 어떻게 그 (그 배열) datasource 또는 그 tableview 아니에요 알 수있을 것입니다. –

+0

셀을 채우기 위해 데이터를 가져 오는 경우 데이터 소스입니다. 그는 이론적으로 복합 데이터 소스를 가질 수 있지만 지나치게 복잡하고 가능성은 거의 없습니다. 분명히,이 데이터가 보완적인 것이라면, 그것이 있다면, 그것은 하나의 데이터가 있는지를 확인해야합니다. 그것은 일반적인 경우는 아니지만. – Avi

관련 문제