ios – Swift:自定义单元格中的IBoutlet为零

ios – Swift:自定义单元格中的IBoutlet为零,第1张

概述我无法弄清楚为什么没有输出这个自定义单元格. 我在故事板中设置了自定义单元格(没有笔尖). 我有一个文本字段和2个标签,当我尝试在自定义单元格类中访问它们时为nil.我几乎可以肯定我已经把所有东西都搞定了,但仍然没有. 我在故事板中选择了我的表格单元格,并将Custom Class设置为TimesheetTableViewCell 我也控制点击表并设置数据源并委托为TimesheetViewCon 我无法弄清楚为什么没有输出这个自定义单元格.

我在故事板中设置了自定义单元格(没有笔尖).
我有一个文本字段和2个标签,当我尝试在自定义单元格类中访问它们时为nil.我几乎可以肯定我已经把所有东西都搞定了,但仍然没有.

我在故事板中选择了我的表格单元格,并将Custom Class设置为TimesheettableVIEwCell
我也控制点击表并设置数据源并委托为TimesheetVIEwController

我的自定义单元类:

import UIKitclass 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”,否则您将崩溃.)

总结

以上是内存溢出为你收集整理的ios – Swift:自定义单元格中的IBoutlet为零全部内容,希望文章能够帮你解决ios – Swift:自定义单元格中的IBoutlet为零所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存