2012-03-13 2 views
0

С моей Sqlite базы данных получил две таблицы данных в одном массиве,Не удалось показать данные базы данных в Tableview

этот массив показывает, как это,

(
     (
      { 
       Name = A; 
       Date = "2012-03-13 00:00:00"; 
       InvoiceNo = 1; 
       Zip = 58555; 
       type = sale; 
      }, 
      { 
       Name = B; 
       Date = "2012-03-13 00:00:00"; 
       InvoiceNo = 3; 
       Zip = 58556; 
       type = sale; 
      } 
     ), 

     (
      { 
       Name = C; 
       Date = "2012-03-13 00:00:00"; 
       InvoiceNo = 10; 
       Zip = 58556; 
       type = Gift; 
      }, 

      { 
       Name = D; 
       Date = "2012-03-13 00:00:00"; 
       InvoiceNo = 6; 
       Zip = 58556; 
       type = Gift; 
      } 
     ) 
) 

На «cellForRowAtIndexPath» Код

  UILabel *ItemData = [[UILabel alloc]initWithFrame:CGRectMake(20,32,80,18)]; 
     ItemData.text =[[Query objectAtIndex:indexPath.row]valueForKey:@"Name"]; 
     [ItemData setFont:[UIFont boldSystemFontOfSize:16.0]]; 
     [cell.contentView addSubview:ItemData]; 
     [ItemData release]; 

Я хочу напечатать, что данные для Tableview так нужно пройти «ValueforKey»,

Но не в состоянии справиться с этим, это краш приложение,

Пожалуйста, любой предлагаю, как я могу это сделать?

+0

вывесить ошибку вы получили. – hchouhan02

+0

Я попытался взять эти данные в формате словаря, но не смог его получить. – Anki

+0

Ваши данные сохранены в NSDictionary? если да, сохраните NSDictionaries в NSArray, а затем отобразите данные в ячейке. [[myArray objectAtIndex: indexPath.row] objectForKey: @ "Name"] – janusbalatbat

ответ

0

У вас есть массив, содержащий массивы, содержащие словари, не так ли?
Таким образом, вы должны маржей этих массивов в одном массиве, после этого кода:

[[MergedArray objectAtIndex:indexPath.row] valueForKey:@"Name"] 

будет работать правильно.

0

попробовать это:

NSMutableArray *array =[[NSMutableArray alloc]init]; 
for (id *obj_1 in Query) { 
    for (id *obj_2 in obj_1) { 
     [array addObject:obj_2]; 
    } 
} 

now in cellForRowAtIndexPath method 

IteamData.text=[[array objectAtIndex:indexPath.row] [email protected]"Name" ]; 
Смежные вопросы