我在我的ViewOne
中有一個數組,我使用prepareForSegue
函數傳遞給ViewTwo
。當用UINavigationController返回時,是否有像prepareForSegue這樣的東西?
當我在ViewTwo
中刪除我的數組的數據並返回到NavigationController上的後退按鈕或向右滑動時,ViewOne
中的數組仍然具有所有數據,並且不知道我刪除了它的某些內容。
有沒有解決這個問題的方法?
ViewOne:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "submitSegue") {
let shoppingCart = segue.destinationViewController as! ShoppinCartScreen;
if(artikel != nil) {
shoppingCart.alleArtikel = alleArtikel
print("Test: \(artikel?.artikelnummer)")
}
}
}
ViewTwo:
var alleArtikel = [Artikel]()
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return alleArtikel.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("ShoppingCartScreenCell", forIndexPath: indexPath) as!ShoppingCartScreenCell
let eintrag = alleArtikel[indexPath.row]
cell.previewImage.image = eintrag.foto
cell.artikelNummer.text = eintrag.artikelnummer
return cell
}
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if(editingStyle == .Delete) {
alleArtikel.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
}
}
我有一個主視圖(ViewOne)和TableView中(ViewTwo)。
首先,你真的需要表現出一定的代碼。你使用的是一個tableview嗎?你如何將數據保存在ViewTwo的數組中?如果你正在使用tableview,你是否正在執行tableview刷新? – MwcsMac
如果ViewOne是一個tableview - 你應該刷新它,或者你可以閱讀有關Unwind segues。 – Oleshko
我已經添加了一些代碼,希望它能幫助你來幫助我。在我的ViewTwo中,我使用了一個TableView。不,我沒有執行tableview刷新。 – user3653164