UITable,如何在SWIFT IOS中将代理人分配给UITable

时间:2015-12-30 17:26:39

标签: ios swift uitableview swift2

我有一个与我的viewController相关联的UITable,其中包含DataSourceDelegate的附加信息。但是,当我查看我的视图控制器上的连接时,它们没有链接,我无法确定如何链接它们,任何帮助表示赞赏。

IBOutlet中

 @IBOutlet weak var locationTableView: UITableView!

当前代码 扩展findCacheViewController:UITableViewDataSource {

//Number Of Rows (Return Value)
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return cacheData.count
}

//Table Content
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = locationTableView.dequeueReusableCellWithIdentifier("Cell")
    let cellData = cacheData[indexPath.row]
    let titleLabelCell = cell?.viewWithTag(1) as! UILabel
    let typeLabelCell = cell?.viewWithTag(2) as! UILabel
    let distanceLabelCell = cell?.viewWithTag(3) as! UILabel

    if userCurrentLocation == nil {
        titleLabelCell.text = "Location Required"
        typeLabelCell.text = ""
        distanceLabelCell.text = ""
    } else {
        titleLabelCell.text = "\(cellData.memoryTitle)"
        typeLabelCell.text = "\(cellData.memoryType)"
    }

    return cell!
}

}

扩展名findCacheViewController:UITableViewDelegate {

//Row Height Based On Condition
//func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    //let cellData = cachedata[indexPath.row]

    //if conditions {

    //}
//}

//Selected Cell Segue Function
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    selectedCell = cacheData[indexPath.row]
    //performSegueWithIdentifier(<#T##identifier: String##String#>, sender: self)
}

}

1 个答案:

答案 0 :(得分:1)

我不明白您粘贴的代码的重点是什么,您说故事板中的连接存在问题?或者您是否使用代码创建了uitableview,如果是这样,您是如何设置委托的?

无论如何,你需要从uitableview的委托连接中ctrlleft click drag到storyboard / xib中正确的uiviewcontroller。或者,您需要按代码设置委托。

连接本身不会发生,您需要执行前面提到的两种方法之一。

Example of setting delegate to viewcontroller in storyboard