我發現了很多類似的問題,但無法找到我的問題的解決方案。 因此,我的應用程序(它由tabView組成)需要在第一次啓動後從服務器下載數據。要執行此操作,它會調用模式viewcontroller,它使用Reachability.h/m和NSNotification defaultCenter檢查Internet連接。如果互聯網可用,則開始下載並保存數據。完成後,我想關閉模態打開的viewcontroller,但它一遍又一遍地重新加載。我堅持使用這種近2天,請幫助:)模態視圖不會消除
這是我的代碼部分:在第一的ViewController
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
//checking for data if not calls modalViewController
if(firstStart){
[self performSegueWithIdentifier:@"startDownload" sender:self];
}
}
在第二(模態視圖控制器)
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
// check for internet connection
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];
internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];
// check if a pathway to a random host exists
hostReachable = [Reachability reachabilityWithHostName: @"www.apple.com"];
[hostReachable startNotifier];
}
在checkNetworkStatus
檢查互聯網連接是否存在互聯網連接執行JSON下載和解析,最後稱爲關閉方法
-(void)Close
{
[self dismissViewControllerAnimated:YES completion:nil];
}
在這次調用之後,屏幕進入第一個ViewController並立即變爲秒,所有的東西都會再次執行,它在循環中有點困難。
也許第一次開始總是如此。你如何設定第一步? – audub 2013-02-17 13:41:03
你說第一次開始是什麼意思? – 2013-02-17 13:55:22
我已經做了siple項目來測試。 2 viewcontorllers 1-st在viewdidappear中通過segue調用。 2-nd從他的viewdidappear中關閉[self dismissViewControllerAnimated:YES completion:nil]; - 我有完全相同的情況, – 2013-02-17 14:01:23