2013-09-30 3 views
2

Я работаю над простым пользовательским интерфейсом, но у меня возникают проблемы с addSubview звонками, сделанными после removeFromSuperview.Вызов addSubview после удаленияFromSuperview

В моей ViewController У меня есть IBOutlet UITableView

@property (strong, nonatomic) IBOutlet UITableView *tableView; 

В зависимости от состояния данных, я удалить TableView из моего viewControllers зрения.

[self.tableView removeFromSuperview]; 

Пока все хорошо, вид удален. При использовании отладчика я все еще вижу, что мой viewController имеет действительный дескриптор для tableview. Проблема начинается с следующей строки, когда я вызываю addSubview.

[self.view addSubview:self.tableView]; 
[self.tableView setDataSource:studyResult]; 
[self.tableView reloadData]; 

Это ничего не делает, и я не вижу никаких изменений в пользовательском интерфейсе. Я попытался установить рамку на tableView и по-прежнему нет результатов.

Вы видели это поведение?

Джо

+0

Действительно ли 'self.view' действителен? (В частности, 'self.view == self.tableView'?) – sapi

+0

Оба объекта кажутся действительными и не равными друг другу. '

ответ

0

Привет Джо вы можете дать мне больше коды для посмотреть, что вы собираетесь? что я получаю, это то, что у вас есть свой контроль и tableview вид внутри, который вы хотите снять, только когда у вас есть массив с данными? если это так, почему вы не устанавливаете Hide tableview, когда у вас нет данных? каждый раз, когда вы обновите данные для таблицы вы должны также использовать метод reloadData для обновления таблицы

+0

Joe Я вам говорю, что, когда вы удаляете свою таблицу, это выпуск из ARC, поэтому, когда вы пытаетесь прочитать его в представлении, ничего происходят потому, что таблица не существует –

+0

Вещи отлично работают, когда я использую альфа-значения, чтобы показать и скрыть таблицу. Я бы предпочел удалить и добавить представление, разве это не «чище»? Я не понимал, что таблица выпущена, хотя у меня есть правильный указатель на tableView. Спасибо за помощь! –

0

В зависимости от состояния данных, я удалить TableView из моих viewControllers просмотра.

Рассмотрите возможность перехода к другому контроллеру представления с табличным представлением вместо того, чтобы заменять таблицы в одном контроллере. Или, если новые данные являются подмножеством старых данных, затем оставьте представление таблицы на месте и отфильтруйте его данные.

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