В заголовке таблицы вы можете взять UILabel, UIView, UIImageView, UITextField и т. Д. Все, что вы хотите. Затем вы просто помещаете его в интерфейсный модуль и связываете его с контроллером, и всякий раз, когда вам нужно обновить его, вы можете просто обновить его, даже не перезагружая tableView.
Если у вас есть данные внутри таблицы, вам нужно выполнить reloadData. Но для данных в заголовке не нужно делать reloadData. Вместо этого вы можете напрямую присвоить значение вашему заголовку следующим образом.
headerLaber.text=@"Header";
headerImageView.image = [UIImage imagenamed:@"image1.png"];
Дайте мне знать, если у вас возникнут вопросы.