以下是相关的代码行:...
if([top class] == [SitesViewController class]){
BackupsViewController *backup = [[BackupsViewController alloc] initWithStyle:UITableViewStyleGrouped andID:cg_id];
[websites pushViewController:backup animated:NO];
[websites pushViewController:details_controller animated:YES];
网站是一个导航控制器,它不是零。
现在我第一次运行它,它工作正常。但是,如果我退出,然后重新登录,它就不起作用了。事实上,什么也没有发生。它保持在它所在的同一页面上。我已经检查过以确保没有什么是零。我也知道我正在进入这个 if 语句,而不是其他人。
这是注销功能:
AppDelegate * appDelegate = (GCAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.tabBarController setSelectedIndex:0]
UINavigationController * topViewController = appDelegate.tabBarController.viewControllers[0];
[topViewController presentViewController:loginScreen animated:YES completion:nil];
[topViewController popToRootViewControllerAnimated:TRUE];
[self deteleKeysAndTokens: (NSString*)k_apiSecret withAccessToken: (NSString*)k_accessToken withAccessSecret:(NSString*) k_accessSecret withkAPIKey: (NSString*)k_apiKey];
万一它可能有帮助,backupViewController 正在下载网站列表,而 detailsViewController 正在获取有关网站的信息。事实上,在拨打电话后:
[websites pushViewController:backup animated:NO];
[websites pushViewController:details_controller
animated:YES];
(这是我发布的第一段代码。)我检查一下 topViewController 是什么:
UIViewController * topView = websites.topViewController;
topViewController 是 details_controller。所以我知道它正在被推入堆栈。然而,什么都没有发生。我的观点与我开始时的观点相同。我在想也许是因为我没有得到所有的数据。但这并不能解释(a)为什么它第一次工作以及(b)为什么它不显示空白页。