У меня есть BaseView, который реализует UIViewController. Каждое представление в проекте должно реализовывать этот BaseView.
В BaseView у меня есть метод:
-(void) checkLoginStatus
{
defaults = [[NSUserDefaults alloc] init];
if(![[defaults objectForKey:@"USERID"] length] > 0 )
{
Login *login=[[Login alloc] initWithNibName:@"Login" bundle:nil];
[self.navigationController pushViewController:login animated:TRUE];
[login release];
}
[defaults release];
}
Проблема в том, что в моем представлении «Вход в систему» также реализован BaseView, проверяется вход в систему и снова открывается LoginView, то есть застрявший в рекурсивных вызовах.
Могу ли я проверить метод checkLoginStatus, если запрос от LoginView, тогда не предпринимать никаких действий, иначе проверьте вход в систему.
Пример:
- (void) checkLoginStatus
{
**if(SubView is NOT Login){**
defaults = [[NSUserDefaults alloc] init];
if(![[defaults objectForKey:@"USERID"] length] > 0 )
{
Login *login=[[Login alloc] initWithNibName:@"Login" bundle:nil];
[self.navigationController pushViewController:login animated:TRUE];
[login release];
}
[defaults release];
}
}
Пожалуйста, помогите ..