2012-04-24 1 views
0

У меня есть GridViewController.Метод вызова в MyAppDelegate.m to ViewController

@interface GridViewController : UIViewController <AQGridViewDelegate, AQGridViewDataSource, LoginViewControllerDelegate, IconDownloaderDelegate, UIScrollViewDelegate> { 

NSArray *objects; //main data model 
NSMutableDictionary *imageDownloadsInProgress; 

} 

@property (nonatomic, retain) IBOutlet AQGridView *gridView; 

Мне нужно вызвать метод reloadData для моего gridview.

Когда я звоню [self.gridView reloadData]; в GridViewController.m (viewDidLoad),

он перезагружается без проблем.

Но мне нужно, чтобы вызвать этот метод в AppDelegate.m

поэтому я импортировать "GridViewController.h" в AppDelegate.m

#import "AppDelegate.h" 
#import "GridViewController.h" 

и вызвать метод,

[gridViewController.gridView reloadData]; 

Это не работает.

Как я могу вызвать этот метод в gridView GridViewController из моего делегата.m?

+0

Вы пробовали отлаживать, контролирует ли управление источник данных и делегирует методы просмотра таблицы или нет? – rishi

+0

У вас есть ссылка на текущий контроллер GridView в делегате приложения. Я имею в виду 'gridViewController' на самом деле контроллер, который присутствует на экране? –

+0

Чувствую, что мне нужно другое «задавать вопрос» о том, как отлаживать или просто уходить. ха-ха! Благодарю. –

ответ

2

Постарайтесь отправить уведомление в своем AppDelegate, что ваш GridViewController поймает. В AppDelegate.m в месте, там вам нужно позвонить вашей сетки перезарядка код:

[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadGrid" object:nil]; 

В viewDidLoad вашей GridViewController в:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadMyGrid)name:@"reloadGrid" object:nil]; 

В viewDidUnload вашей GridViewController в:

[[NSNotificationCenter defaultCenter] removeObserver:self]; 

И вам необходимо добавить метод к вашему GridViewController:

- (void)reloadMyGrid { 
    [self.gridView reloadData]; 
} 
+0

Безупречный, спасибо. –

+0

Это обычно делает трюк, когда вам нужно вызвать код в классе A из класса B :) –

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

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