Swift:IBoutlets在自定义单元中为零

山姆·路德

我不知道为什么不输出此自定义单元格。

我在情节提要中设置了一个自定义单元(无笔尖)。我有一个文本字段和2个标签,当我尝试在自定义单元格类中访问它们时它们为零。我几乎可以确定我已正确连接了所有内容,但仍然无效。

我在情节提要中选择了表格单元,并将“自定义类”设置为,TimesheetTableViewCell我还控制了对表格的单击,并将数据源和委托设置为TimesheetViewController

我的自定义单元格类:

import UIKit

class TimesheetTableViewCell: UITableViewCell {

@IBOutlet var duration: UITextField!
@IBOutlet var taskName: UILabel!
@IBOutlet var taskNotes: UILabel!

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override init?(style: UITableViewCellStyle, reuseIdentifier: String!) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)
    println("Cell's initialised")// I see this
    println(reuseIdentifier)// prints TimesheetCell
}


override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
}

func setCell(duration: String, taskName: String, taskNotes: String){
    println("setCell called")
    self.duration?.text = duration
    self.taskName?.text = taskName
    self.taskNotes?.text = taskNotes
}

我的控制器:

class TimesheetViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{

@IBOutlet var timesheetTable: UITableView!

var items = ["Item 1", "Item2", "Item3", "Item4"]

override func viewDidLoad() {
    super.viewDidLoad()
    self.timesheetTable.registerClass(TimesheetTableViewCell.self, forCellReuseIdentifier: "TimesheetCell")

}
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("TimesheetCell", forIndexPath: indexPath) as TimesheetTableViewCell
        println(items[indexPath.row]) // prints corresponding item
        println(cell.duration?.text) // prints nil
        cell.setCell(items[indexPath.row], taskName: items[indexPath.row], taskNotes: items[indexPath.row])
        return cell
}
马特

问题是这一行:

self.timesheetTable.registerClass(TimesheetTableViewCell.self, forCellReuseIdentifier: "TimesheetCell")

删除它。该行称:“你不是从故事板得到的细胞。” 但是您确实想从情节提要中获取单元。

(但是,请确保该单元格的标识符"TimesheetCell"在情节提要中,否则您将崩溃。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义容器:@IBOutlets为零,即使视图正确显示

UICollectionView中的IBOutlets为零-Swift

即使从Storyboard链接,UICollectionView自定义单元格的子视图也为零

将自定义单元格(使用自动布局创建)的高度设置为零

MsgBox不会显示使用自定义格式添加到单元格中的零

在Excel中为页眉和页脚创建自定义零件

如果Woocommerce类别中的产品计数为零,则重定向自定义页面

Swift 4使用CodableFirebase和自定义类处理Firestore中的零值

识别Swift中自定义listView单元中按下的按钮

在Swift中的自定义单元中存储/检索核心数据

如何在Android Studio中为单元测试设置自定义可绘制目录

为什么我不能在自定义单元格中为UIImageView创建@IBOutlet

如何在Swift中对该自定义UITextField进行单元测试?

在自定义表格视图单元格中本地化按钮和标签[swift]

JTAppleCalendar Swift 3.2中的cellForItemAt日期上的自定义单元格错误

UICollectionView自定义单元格以填充Swift中的宽度

防止在表视图Swift中重用自定义单元格

Swift不能在自定义单元格中自动工作

Swift中的自定义表格视图单元格,没有Storyboard

如何在Swift的tableview单元格中添加自定义imageview?

Swift-将self.navigationController调用到自定义单元格类中

使用自定义TableViewCell的TableView中的空单元格-Swift

使用自定义单元格在UITableView中展开UILabel时,Swift崩溃

在Swift 4中单击自定义按钮时调整单元格的大小

自定义Xib单元格未出现在UITableView swift中

Xcode 6 + Swift中的自定义单元格不显示

如何在TableView单元格Swift中自定义和实现Slider

在Swift中为自定义类型定义显式转换

为什么自定义单元格为空白?