2014-10-20 44 views
0

我是我爲我的應用下載了MZFormSheetController庫。當我確認表單時,如何回到我的視圖?

我的彈出窗口有問題。當我在我的TableViewController上時,我點擊一行以打開彈出窗口,以便我可以更改名稱。彈出窗口打開,我設置了名稱,當我點擊按鈕來更正名稱時,我調用了按鈕方法,但在重新加載列表時我無法關閉彈出窗口。

- (IBAction)modifierTournoi:(id)sender { 
    //code to update database 

    //this method close the popup but don't call method viewWillAppear to reload database 
    //I don't know what method i can use..? 
    [self dismissFormSheetControllerAnimated:YES completionHandler:^(MZFormSheetController *formSheetController) { 
    }]; 
} 

在此之前,我使用popViewControllerAnimated方法返回我的列表,同時充電我的列表。

- (IBAction)modifierJoueur:(id)sender { 
    //code to update database 
    [self.navigationController popViewControllerAnimated:true]; 
} 

你能幫我嗎?

非常感謝。

+0

提供您編寫的代碼將極大地幫助人們更好地理解您的問題。 – spassas 2014-10-20 16:38:59

回答

0

它看起來像有就是爲了這個目的內置到您正在使用該庫的具體完成處理程序:

- (IBAction)modifierTournoi:(id)sender { 
    //code to update database 

    //this method close the popup but don't call method viewWillAppear to reload database 
    //I don't know what method i can use..? 
    [self dismissFormSheetControllerAnimated:YES completionHandler:^(MZFormSheetController *formSheetController) { 

      // Reloading your database should work in here. 
    }]; 
} 

原因viewWillAppear中不會被稱爲是因爲而不是放置的viewController模態的窗口上方,我想MZFormSheetController會在所有呈現的UIViews上添加一個UIView,所以viewWillAppear將永遠不會被調用。但正如我上面所說,你應該能夠在完成處理程序塊中重新加載。

+0

好的,我重新加載完成處理程序塊中的數據。我發送我的TableView和我的NSMutableArray重新加載我的segue中的數據。 但我的表列表不再進行重裝...... [自dismissFormSheetControllerAnimated:YES completionHandler:^(MZFormSheetController * formSheetController){ self.listeTournois = [TournoiBdd getAllTournois] [self.tournoiTableView reloadData]; }]; – 2014-10-20 18:47:02

+0

如果我要從這裏開始幫助,可能需要更多的代碼實現。你有沒有嘗試斷點檢查tableView:cellForItemAtIndexPath:是否在調用reloadData之後調用tableView方法?或者,甚至可以在完成塊中插入一個斷點,以確保正在調用! – simonthumper 2014-10-20 18:55:35

+0

哦,謝謝,我忘了在cellForRowAtIndexPath中添加斷點,我只是調用方法重新加載我的數組在cellForRowAtIndexPath方法的開始,它的工作! 非常感謝simonthumper! – 2014-10-20 19:29:04

相關問題