Я только недавно начал программировать для iPhone, и я делаю приложение, которое подключается к базе данных, получает набор имен строк и отображает их. При выборе цвет фона строк изменяется, т.е. вы можете сделать несколько выделений, и все они будут разных цветов. Поэтому я без проблем получаю XML обратно с сервера и создал UITableView
для отображения ячеек. Однако я не знаю, как добавить ячейки в таблицу. Я посмотрел на insertRowsAtIndexPaths
, но я не уверен, как его использовать? Как я понимаю, insertRowsAtIndexPaths
принимает два параметра:
NSArray, который содержит, в какой строке должна находиться ячейка и в каком разделе. Проблема в том, что мое приложение будет иметь динамическое количество строк. Как мне создать NSArray, если я не знаю, сколько у меня будет строк? Могу ли я использовать NSMutableArray?
Второй параметр - анимация - это довольно просто.
Еще одна проблема, с которой я сталкиваюсь, - где я на самом деле создаю клетки? Как вы передаете клетки в таблицу?
Я пытался прочитать документацию, но она не совсем понятна! Вот код, который у меня есть на данный момент внутри метода loadview контроллера представления:
//Before this I get the XML from the server so I am ready to populate
//cells and add them to the table view
NSArray *cells = [NSArray arrayWithObjects:
[NSIndexPath indexPathForRow:0 inSection:0],
[NSIndexPath indexPathForRow:1 inSection:0],
[NSIndexPath indexPathForRow:2 inSection:0],
[NSIndexPath indexPathForRow:3 inSection:0],
[NSIndexPath indexPathForRow:4 inSection:0],
[NSIndexPath indexPathForRow:5 inSection:0],
[NSIndexPath indexPathForRow:6 inSection:0],
[NSIndexPath indexPathForRow:7 inSection:0],
[NSIndexPath indexPathForRow:8 inSection:0],
[NSIndexPath indexPathForRow:9 inSection:0],
[NSIndexPath indexPathForRow:10 inSection:0],
[NSIndexPath indexPathForRow:11 inSection:0],
[NSIndexPath indexPathForRow:12 inSection:0],
nil];
[eventTypesTable beginUpdates];
[eventTypesTable insertRowsAtIndexPaths:cells withRowAnimation:UITableViewRowAnimationNone];
[eventTypesTable endUpdates];