I have an array in my ViewOne, which I pass to ViewTwo with the prepareForSegue function. 
When I delete data of my array in ViewTwo and go back with the back button on the NavigationController or by swiping to right, the array in ViewOne has still all the data and don't know that I deleted something of it. 
Is there any solution for this problem?
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)
        }
    }
I have a main View (ViewOne) and a TableView(ViewTwo).