我想将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中的名称将保存在一个数组中。
我也将从另一个视图控制器访问这些名称,所以我需要将它们保存为数组。
答案 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)
}
}