2012-03-25 2 views
-1

У меня есть приложение, которое отображает большое количество значений, используя UITableView и импортированную базу данных sqlite3. Теперь я сталкиваюсь с проблемой, что мне нужно создавать разделы для элементов. Он должен быть похож на «приложение» приложения по умолчанию в iPhone, но я не хочу, чтобы этот раздел сортировал элементы только для первой буквы. База данных содержит данные о еде, поэтому разделы должны быть похожими на «Хлеб», «Мясо», «Рыба» и т. Д.Как реализовать разделы в представлении таблицы, содержащие базу данных SQLite3?

Пожалуйста, помогите, любой совет будет оценен!

ответ

0

Сделайте NSDictionary, чей ключ является заголовком для отображения, а значение NSArray состоит из всех объектов, которые содержат. Теперь сделайте следующее:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return [[dict allkeys]count]; 
    } 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection(NSInteger)section   
{ 

    //Number of rows it should expect should be based on the section 
    NSArray *array = [dict objectForKey:[[dict allKeys] objectAtIndex:section]]; 
    return [array count]; 
} 



    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { 
     return [[dict allKeys] objectAtIndex:section]; 

    } 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    // Set up the cell... 

    cell.text = [[dict objectForkey:[[dict allKeys] objectAtIndex:indexpath.section]] objectAtIndex:indexPath.row]; 

    return cell; 
} 
+0

Мне жаль, что ДИКТ? – Necrosoft

+0

dict ia a NSDictionary, чей ключ является заголовком для отображения, а объект NSArray состоит из всех объектов, содержащих –

+0

в порядке, благодаря Challenger. – Necrosoft

Смежные вопросы