Я пытаюсь вызвать метод из класса NSObject из моего AppDelegate. Обычно это работает, если вы звоните из UIViewController, но не повезете в AppDelegate. Мой код:Вызов метода класса NSObject из делегата приложения
AppDelegate.m
#import "ACManager.h"
@implementation AppDelegate {
ACManager *acManager;
}
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[acManager login];
}
ACManager.h
@interface ACManager : NSObject
-(void)login;
@end
ACManager.m
+(ACManager*)sharedInstance {
static ACManager *sharedInstance;
@synchronized(self) {
if (!sharedInstance) {
sharedInstance = [[self alloc]init];
}
}
return sharedInstance;
}
-(void)login
{
NSLog(@"login run");
}
@end
Любые идеи, спасибо. Есть ли другой способ обойти это при вызове из делегата приложения?
Не имеет отношения к вопросу, но вы можете заменить свою реализацию sharedInstance на предлагаемую здесь. https://stackoverflow.com/questions/5720029/create-singleton-using-gcds-dispatch-once-in-objective-c – wjl