使用textField Text向表格Xcode / Swift 2.0

时间:2016-07-06 21:23:19

标签: ios swift uitableview

我的问题具体涉及以下一组操作:我希望用户能够将文本输入到textField中,按下按钮,然后将该文本传输到一个单元格中,然后在表格中新填充该单元格。

我有一个带有文本字段,按钮和表对象的视图控制器。我还有一个数组,当用户输入文本时存储每个字符串,我的代码如下所示:

更新1:添加" self.taskTable.delegate = self"和" self.taskTable.dataSource = self"正如评论中所建议的那样。

更新2:忘记在Storyboard编辑器中添加标识符,代码现在正常运行,谢谢大家!代码现在如下:

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var textField: UITextField!
@IBOutlet var taskTable: UITableView!
var taskArray : NSMutableArray! = NSMutableArray() //Could be a non-NS as well

@IBAction func addTask(sender: AnyObject) {
    //Print to alert we entered method
    print("task submitted")
    //Get input from text field
    let input = textField.text
    //Add object to array, reload table
    self.taskArray.addObject(input!)
    self.taskTable.reloadData()
}//addTask

override func viewDidLoad() {
    super.viewDidLoad()
    self.taskTable.delegate = self
    self.taskTable.dataSource = self
    print("application finished loading")
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.taskArray.count;
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:UITableViewCell = self.taskTable.dequeueReusableCellWithIdentifier("cell")!
    cell.textLabel?.text = self.taskArray.objectAtIndex(indexPath.row) as? String
    return cell
    }
}

2 个答案:

答案 0 :(得分:0)

您未在viewDidLoad()

中添加委托引用

添加以下内容:

self.taskTable.delegate = self
self.taskTable.dataSource = self

编辑:错字

答案 1 :(得分:0)

您很可能实际上没有将ViewController设为UITableViewDelegate或UITableViewDataSource。在您的Storyboard中,右键单击您的UITableView并确保设置了委托和数据源。如果它们不是,请从每个旁边的圆圈拖动并将其连接到ViewController。