在Swift中:如何使用文本字段的内容填充下一个可用的表格视图单元格?

时间:2016-07-02 02:21:10

标签: ios iphone swift

我有一个ViewController.swift和一个TableViewCell.swift文件。在主故事板中,我有一个基本的视图控制器,顶部有一个文本字段,下面是一个表格视图。我在表视图中有一个Prototype Cell,它的标识符是" cell"和class是" TableViewCell"。

我希望用户点击文本字段,输入字符串,然后单击键盘上的Return。然后我希望将该String粘贴到下一个可用的表格视图单元格中(每次发生这种情况时,下一个单元格应该填充)。

除了文件已有的基本代码之外,我还有以下内容:

在ViewController.swift中:

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var textField: UITextField!
@IBOutlet weak var tableView: UITableView!

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 0
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return 0
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
 let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)

    let textFromField = textField.text
    cell.textLabel!.text = textFromField
    return cell }

2 个答案:

答案 0 :(得分:1)

您需要一个String

数组的变量
var array = [String]

然后,您需要将textfield的文本值附加到数组

array.append(textField.text)

然后在您的数据源中,您需要返回部分的数量(在您的情况下看似为1)和部分中的行数

array.count

然后在cellForRowAtIndexPath中,您需要返回数组中的每个项目

let item = array[indexPath.row]
cell.textLabel.text = item
return cell

答案 1 :(得分:0)

据我了解。您应该使用delegate

  1. 通过rowWillFill计算indexPath.row来填充。
  2. TableViewCell实现委托。

    if(cell_index = indexPath.row) {

    rowWillFill += 1
    
    tableViewCell.textLabel.text = String
    

    }

  3. 然后按tableView.updateCellAtIndexPath更新单元格 好运!