ChangePasswordPage *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"changedPass5"];
[self presentViewController:vc animated:YES completion:nil];
如果我把在viewDidLoad
這段代碼會工作,但是當我在一個函數運行它,它仍然有效,但10至15秒,白色的屏幕,然後經過屏幕正確加載。presentViewController顯示白屏10-15第二
這是爲什麼?
下面是一些相關的代碼: 添加這個方法:使用presentViewController
FIX的
dispatch_queue_t queue = dispatch_queue_create("x.x", NULL);
dispatch_async(queue, ^{
while(true)
{
sleep(1);
checkCacheForRefreshDone = [[NSUserDefaults standardUserDefaults] stringForKey:@"homeScreenRefreshDone"];
userChangedPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"userChangedPassword"];
if ([checkCacheForRefreshDone isEqualToString:@"1"])
{
[self installAfterRefresh];
[feedHomeTable reloadData];
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"homeScreenRefreshDone"];
[[NSUserDefaults standardUserDefaults] synchronize];
checkCacheForRefreshDone = @"0";
[refresh endRefreshing];
break;
}
}
});
-(void)installAfterRefresh
{
userChangedPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"userChangedPassword"];
if ([userChangedPassword isEqualToString:@"1"])
{
[self detectPhone];
}
}
detectPhone
功能
[self performSelectorOnMainThread:@selector(detectPhone) withObject:nil waitUntilDone:YES];
也許你沒有在主線程上做。你調用了什麼函數,什麼叫_that_函數? – jrturton 2014-12-27 14:44:21
是的,我使用'dispatch_async' – 2014-12-27 14:45:54
那可能就是這樣。你能用這個代碼更新問題嗎? – jrturton 2014-12-27 14:49:48