похоже, вы собираетесь повеселиться здесь.Но как только вы закончите, это удовлетворит: -)
Я не уверен, что код, который вы разместили, - это то, о чем вам нужно беспокоиться.То, что вы видите в своей таблице (прежде всего), определяют такие методы, как heightForRowAtIndexPath, numberOfSectionsInTableView и numberOfRowsInSection.Если вы сделаете это правильно, вы получите нужный вам дисплей.Поэтому, когда вы нажимаете на ячейку, вы изменяете свои базовые структуры данных, затем вызываете reloadData, в результате чего табличное представление снова вызывает эти методы.
Что касается размещения этих ячеек, я не вижу, чтобы вы вообще использовали contentView ячейки.Вы посмотрели блог «Какао с любовью», в частности Простой пользовательский рисунок UITableView и Создание UITableView, чертеж и управление (пересмотренный вариант) ?Я также использовал xib-метод определения ячеек табличного представления, как описано в документации Apple, Руководство по программированию табличного представления для iOS , и учитывая тот факт, что Xcode просто продолжает улучшать взаимодействие конструктора интерфейса с кодом, вероятно, продолжит делать это.,Я был очень против IB, но теперь вижу смысл в его использовании, поскольку Xcode 4 избавил от необходимости переключать приложения для его использования, гораздо меньше возможностей совершать ошибки.
Я думаю, чточто, когда вы «добавляете представление» в ячейку, вы должны просто переключиться на другую ячейку, которую вы определили, и загрузить ячейку после reloadData, как требуется.Когда вы хотите добавить ячейки, вы изменяете свои базовые структуры данных и позволяете таблице отображать саму себя.
По вопросу об идентификаторах ячеек - вы можете использовать один идентификатор ячейки и сэкономить только затраты на создание ячейки, факторингИз всего, что вы делаете для всех ваших ячеек, ИЛИ вы можете создать ячейки с уникальным идентификатором для каждого типа ячеек и повторно использовать вариант ячейки TK421, когда ваш раздел / строка указывает на необходимость TK421.Я склонен делать второе.На самом деле я не знаю, какой из них работает лучше, но я уверен, что любой из них лучше, чем отсутствие повторного использования.