我是swift以及创建iOS应用程序的新手,我想我会创建一个简单的应用程序来计算输入到TextField中的数字的平均值。 averageViewController
也有一个包含TableView
的容器视图。一旦这个人击中了" Next"按钮我希望TableView显示已输入的数字。 (每个单元格标签都有一个数字)。
这是我averageViewController
中的segue方法以及用户按下按钮时使用的函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "sendResult" {
let inputArray = segue.destinationViewController as! averageTableViewController
inputArray.arrayFromSegue = average.getArray()
}
}
@IBAction func nextButton(sender: UIButton) {
average.arrayInput(((inputTextField.text!) as NSString).doubleValue)
calcAverage()
inputTextField.text=nil
}
这是我为averageTableViewController
创建的代码:
class averageTableViewController: UITableViewController {
var arrayFromSegue = NSMutableArray()
var arrayUsed = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
arrayUsed = arrayFromSegue
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var Cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
Cell.textLabel?.text = String(arrayUsed[indexPath.row])
return Cell
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrayUsed.count
}
}
我做了很多研究,我相信我的一个错误就是我正在做的动作(显示)并没有产生正确的结果。
答案 0 :(得分:1)
问题不在你身上。如果您想根据输入的数量更改行数,则应更新阵列数据并reload
表格。在您的情况下,您可以这样改变:
创建变量保留tableViewController
,在您的情况下可以输入名称为:inputArray
inputArray = segue.destinationViewController as! averageTableViewController
当您点按nextbutton
时,您更新了数组平均值并将其分配给tableViewConroller
`inputArray并重新加载:
inputArray.arrayUsed = average.getArray()
inputArray.tableView.reloadData()
如果您有任何问题,请不要犹豫,问我。我会帮助你的。
您可以查看我的演示:Demo
您的项目泄漏segue到tableviewcontroller:请按照以下步骤修复项目:
sendResult