【发布时间】:2010-04-14 07:05:26
【问题描述】:
我有实现 UIViewController 的 BaseView。项目中的每个视图都必须实现这个 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,即陷入递归调用。
如果请求来自 LoginView,我可以检查 checkLoginStatus 方法,然后不采取任何操作,否则检查登录。 例如:
- (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];
}
}
请帮忙..
【问题讨论】:
标签: iphone objective-c uiviewcontroller