使用数据swift2

时间:2016-01-06 12:57:51

标签: ios iphone uitableview uiviewcontroller swift2

我是Swift和iOS开发的新手,目前正在开发一款显示联系方式的应用。现在这个应用程序有一个ViewController,显示联系人详细信息。在他看来,属于那个ViewController我有两个表视图,应该显示其他信息。 为了能够解决这些表视图,我使视图控制器成为

的委托
UITableViewDataSource, UITableViewDelegate

并添加了以下方法:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    print(tableView)
    print(self.hobbiesTableView)
    if(tableView == self.hobbiesTableView){
        return card.hobbies.count
    } else {
        return card.friends.count
    }
}

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

    let row = indexPath.row

    if(tableView == self.hobbiesTableView){
        cell.textLabel?.text = card.hobbies[row]
    } else {
        cell.textLabel?.text = card.friends[row].vorname
    }

    return cell
}

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    return true;
}

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
    let editAction = UITableViewRowAction(style: .Normal, title: "Edit") { (rowAction:UITableViewRowAction, indexPath:NSIndexPath) -> Void in
        //TODO: edit the row at indexPath here
    }
    editAction.backgroundColor = UIColor.blueColor()


    let deleteAction = UITableViewRowAction(style: .Normal, title: "Delete") { (rowAction:UITableViewRowAction, indexPath:NSIndexPath) -> Void in
        //TODO: Delete the row at indexPath here
    }
    deleteAction.backgroundColor = UIColor.redColor()

    return [editAction,deleteAction]
}

然而,这些方法都没有被调用过。因此,第一个问题是我错过了什么?第二个问题:我启用编辑的方式是否允许删除这些表视图中的条目?

1 个答案:

答案 0 :(得分:1)

您需要将表视图的delegate和dataSource属性设置为视图控制器。