/ / Dodaj wiersze do istniejącej sekcji UITableView - object-c, cocoa-touch, ios, uitableview

Dodaj wiersze do istniejącej sekcji UITableView - object-c, cocoa-touch, ios, uitableview

Próbuję uzyskać przykładowy kod na temat dodawania wierszy do istniejącego UITableView. Próbuję użyć insertRowsAtIndexPaths: funkcjonować.

    [tableView insertRowsAtIndexPaths:addindexes withRowAnimation:UITableViewRowAnimationTop];

Wszelkie pomysły na to, jak działają te indeksy i jak mogę dodać je do istniejącej sekcji lub, jeśli nie mam sekcji, a następnie utworzyć nową sekcję?

Odpowiedzi:

11 dla odpowiedzi nr 1

Musisz utworzyć tablicę indeksów jako -

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

na przykład, jeśli chcesz wstawić drugi wiersz wsekcja 0 i już ma 1 wiersz w sekcji 0, a następnie utwórz ścieżkę indeksu dla wiersza 1 w sekcji 0 i wywołaj metodę insertRowsAtIndexPaths w widoku tabeli, wstawi drugi wiersz w sekcji.

Jeśli nie ma sekcji w widoku tabeli, powinieneś użyć int dla źródła danych, aby nie dawać żadnych sekcji w widoku tabeli, w tym użyciu -

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return noOfSection; //here section is as int which is initially zero
}

i początkowo twój int "noOfSection" będzie zero, wtedy nie będzie sekcji w tabeli, wtedy gdy chcesz dodać sekcję, zwiększ wartość int o 1 i wywołaj [tableView reloadData];


6 dla odpowiedzi nr 2

Musisz obsługiwać te funkcje, jeśli wstawisz wiersz i sekcję w widoku tabeli.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return noOfSections;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[noOfRows objectForIndex:section] intValue];
}

także, jeśli aktualizujesz widok tabeli, zaleca się użycie metody beginUpdates i endUpdates.

tak wstawiasz nowy wiersz i sekcję.

noOfSections++;
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:3] withRowAnimation:UITableViewRowAnimationTop];


// update your array before calling insertRowsAtIndexPaths: method
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:1 inSection:2]]
withRowAnimation:UITableViewRowAnimationTop];

sprawdź przykładowy kod dostarczony przez jabłko.

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableView_Class/Reference/Reference.html