2016-09-12 137 views
0

我从NSDictionary从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'。

我觉得上面的细节都可以。请给我一些建议,让我出错。

+1

为什么你认为一个数组将有一个名为'name'属性?你明白数组是什么吗? – Avi

+0

对不起,先生,但我也试图让价值根据指数值 –

回答

1

根据indexPath从数组中提取特定字典,然后从该字典中获取值。

试试这个:

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

多数民众赞成在我的工作感谢。对不起,我的愚蠢问题。 –

0

//尝试这样

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

范围检查是一个坏主意。如果作为数据源的数组发生突变而没有使表视图被意识到,这是一个程序员错误。最好找出尽快,但让运行时异常触发崩溃。 – Avi

+0

是好的,但我们怎么知道它(该数组)是否是该数据源的数据源。 –

+0

如果他从中提取数据以填充单元格,则它是数据源。他理论上可以有一个复合数据源,但这太复杂了,而且几乎不可能。显然,如果这些数据是补充性的,那么在一个使用它的方法中,应该检查一下是否有这个数据。虽然这不是通常的情况。 – Avi

相关问题