在按钮操作上将UITableView名称保存到数组

时间:2015-07-23 00:07:08

标签: xcode swift

我想将UITableView中填充的名称保存到数组

var mineSpillere = [String]()

我如何在buttonAction上执行此操作?

这是我如何向tableview添加名称的按钮操作:

@IBAction func addButtonAction(sender: AnyObject) {
            mineSpillere.append(namesTextBox.text)
            myTableView.reloadData()
    }

还有代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell:UITableViewCell = self.myTableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell

        cell.textLabel!.text = self.mineSpillere[indexPath.row]

        return cell;
    }

只有当我按下"返回"在应用程序中的按钮,UITableView中的名称将保存在一个数组中。

我也将从另一个视图控制器访问这些名称,所以我需要将它们保存为数组。

1 个答案:

答案 0 :(得分:0)

好的,所以看起来您已经使用mineSpillere数组中的所有数据,因为您正在使用cell.textLabel!.text = self.mineSpillere[indexPath.row],以便将该数组恢复到第一个视图控制器。您可以在按下“后退”按钮时显示的视图控制器中使用以下代码:

class FirstViewController: UIViewController,SecondViewControllerDelegate {


    var mineSpillereCopyFromSecondVC = [String]()




    func presentSecondViewController() {
        // Im not sure the class name for you're second view
        // where the tableView is located.
        var secondVC: SecondViewController = SecondViewController();
        secondVC.delegate = self

        // Also not too sure on how you're presenting the `SecondViewController` so I'm goingg to leave that empty. 
        // The important part is just above us.
    }


    func passMineSpillere(mineSpillere: [String]) {
        // This class now has the mineSpiller array of name.
        self.mineSpillereCopyFromSecondVC = mineSpillere
    }

}

然后在tableView所在的SecondViewController中,您可以添加以下代码。

import UIKit

protocol SecondViewControllerDelegate {
    func passMineSpillere(mineSpillere:[String])
}


class SecondViewController: UIViewController {

    var delegate: SecondViewControllerDelegate?
    var mineSpillere = [String]()

    // This will be called when the 'back' button is pressed.
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)

        // Pass the mineSpillere array back to the delegate
        // which is the firstViewController instance.
        self.delegate?.passMineSpillere(self.mineSpillere)
    }


}