Нет видимого @interface для «Appdelegate» объявляет селектор «setupTabBarController»

Я создал метод в Appdelegate.m

-(void)setupTabBarController {
         // details goes here
}

Теперь в ABC.m я хочу получить доступ к setupTabBarController

Я включил делегат приложения:

#import "AppDelegate.h"

А потом:

AppDelegate *maindelegate = [[AppDelegate alloc] init];
[maindelegate setupTabBarController];

Но он показывает ошибку,

Нет видимого @interface для «Appdelegate» объявляет селектор «setupTabBarController»

Где я не прав?


person Shyantanu    schedule 28.02.2013    source источник


Ответы (3)


Как говорится в сообщении об ошибке, вам нужно объявить его в AppDelegate.h, а затем вы должны вызвать его как:

AppDelegate *maindelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[maindelegate setupTabBarController];

В AppDelegate.h:

@interface AppDelegate : UIResponder <UIApplicationDelegate>

- (void)setupTabBarController;

@end
person iDev    schedule 28.02.2013
comment
Проверьте еще раз. Я уверен, что вы не объявляли в классе AppDelegate.h. - person iDev; 28.02.2013
comment
@Shyantanu, приятно это знать. :) - person iDev; 28.02.2013

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

-(void)setupTabBarController;
person Dilip    schedule 28.02.2013

Использовать :

AppDelegate *appDelegate =(AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate setupTabBarController];
person Rushi    schedule 28.02.2013