2012-04-25 1 views
0

Я написал функцию Refresh для перезагрузки tableview в приложении iPhone с аргументом UITableview. Мой вопрос в том, как я могу вызвать или вызвать эту функцию обновления?Как вызвать функцию RefreshTableView в объекте C?

- (void)RefreshTableView:(UITableView *)tableView 
{ 
    if(tableView != nil){ 
     [tableView reloadData]; 
    } 

} 
+0

Вам не нужно проверять объекты, чтобы увидеть, являются ли они 'nil' перед отправкой им сообщений. Сообщения на 'nil' игнорируются. – Jim

+1

Я делаю приложение для iphone joke, так как на домашней странице перечисляется категория из таблицы jokescategory в базе данных. У меня есть настройки, чтобы отключить класс, который он отлично работает. – Rajeshwar

+0

Я занимаюсь шуточным приложением, так как на главной странице отображается категория из таблицы jokescategory из базы данных. У меня есть настройки, чтобы отключить категорию, которая отлично обновляет таблицу. Но проблема в том, что RootView (домашняя страница) не загружается. Его перезагрузка при запуске приложения снова. Итак, как я могу перезагрузить RootView? Я попробовал [tablView reloadData] и [self.tableView reloadData]. У меня есть две таблицы в DB для категории (jokescategory) и еще одна для шутки (jokesbody). И таблица успешно обновляется, но RootView не перезагружается. так как я могу перезагрузить RootView? – Rajeshwar

ответ

0

Если - (void)RefreshTableView:(UITableView *)tableView находится в том же файле, то вы можете назвать это

[self RefreshTableView:aTableView]; когда вы хотите позвонить.

+0

Благодарю вас .. но его выдает ошибку aTableView не объявлен, а также пробовал tableView он также выдает ошибку – Rajeshwar

+0

@rajesh: at где u объявили представление таблицы? в .h или .m файле? – Maulik

+0

в RootViewController.m – Rajeshwar

0

из самого класса [self RefreshTableView:yourTableView];

форма вне класса [yourClassInstance RefreshTableView:yourTableView];

PS: Вы должны реорганизовать код и переименовывать RefreshTableView: с refreshTableView:

+0

спасибо uu..but его не работает – Rajeshwar

+0

Что вы подразумеваете под этим не работает? У вас есть значения в массиве источников данных? Вы устанавливаете правильное количество ячеек и строк? Вы показываете данные в cellForRow? –

1

Прежде всего переименовать метод, как следующие:

- (void)refreshTableView:(UITableView *)tableView 

Затем, чтобы вызвать этот метод вам необходимо выполнить следующие действия:

[self refreshTableView:yourTableview]; 

где self обозначает объект, который будет получать сообщения. В этом случае self является экземпляром объекта, который содержит этот метод.

Теперь, почему вам нужно передать также экземпляр табличного вида?

, если у вас есть переменная экземпляра для этого представления таблицы и вы синтезировали его (@property/@synthesize шаблона), вы можете просто сделать следующее:

- (void)refreshTableView 
{ 
    [[self myTable] reloadData]; 
} 

, а затем вызвать этот метод, как следующее:

[self refreshTableView]; 

Редактировать

Как Дань предложил, если у вас есть свойство (или переменную экземпляра), вы также можете позвонить непосредственно

[[self myTable] reloadData]; // or [self.myTable reloadData]; 

без прохождения через refreshTableView.

+0

+1 для обрезки. Я бы добавил +1 еще раз (если бы мог), если бы вы отметили, что функция не нужна. Замените [self.myTable reloadData]; – danh

+0

@danh Спасибо. Я добавил изменение в свой ответ. –

+0

Я делаю приложение для шутки, потому что главная страница перечисляет категорию из таблицы jokescategory из базы данных. У меня есть настройки, чтобы отключить категорию, которая отлично обновляет таблицу. Но проблема в том, что RootView (домашняя страница) не загружается. Его перезагрузка при запуске приложения снова. Итак, как я могу перезагрузить RootView? Я попробовал [tablView reloadData] и [self.tableView reloadData]. У меня есть две таблицы в DB для категории (jokescategory) и еще одна для шутки (jokesbody). И таблица успешно обновляется, но RootView не перезагружается. так как я могу перезагрузить RootView? – Rajeshwar

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

  • Нет связанных вопросов^_^