【发布时间】:2014-08-08 10:27:58
【问题描述】:
我在使用 Xcode6(beta 4)快速创建自定义表格视图单元格时遇到问题。更准确地说,我无法访问(解包)单元格内的自定义 UILabel,因为它们从未被初始化。
以下是我的全部设置方式:
我在情节提要中制作了一个视图,其中包含一个带有原型单元格的表格视图:
视图连接到 MyCoursesTableViewController 类,单元格(带有标识符 courseCell)连接到 CourseTableViewCell。我在下面粘贴了两个类(仅包含相关的代码):
MyCoursesTableViewController.swift
import UIKit
class MyCoursesTableViewController: NavToggleTableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(CourseTableViewCell.self, forCellReuseIdentifier: "courseCell")
}
override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
return 1
}
override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell : CourseTableViewCell = tableView.dequeueReusableCellWithIdentifier("courseCell", forIndexPath: indexPath) as CourseTableViewCell
// cell is not nil
if let titleLabel = cell.titleLabel {
// never gets here
} else {
cell.textLabel.text = "Course Title"
}
return cell
}
}
NavToggleTableViewController 类只是我用于所有视图控制器的通用基类,不会影响结果。
CourseTableViewCell.swift
import UIKit
class CourseTableViewCell: UITableViewCell {
@IBOutlet weak var courseIcon: UIImageView!
@IBOutlet weak var teacherIcon: UIImageView!
@IBOutlet weak var studentsCountIcon: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var studentsCountLabel: UILabel!
@IBOutlet weak var teacherLabel: UILabel!
init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
下面是我如何在实用程序窗格中配置单元格的图片(在情节提要中):
当我想访问 UILabel 时,函数 tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> CourseTableViewCell 内部会出现问题。如果我输入cell.titleLabel.text = "Course Title" 之类的内容,我会收到以下错误消息:
fatal error: unexpectedly found nil while unwrapping an Optional value
我哪里做错了?非常感谢任何帮助,谢谢!
【问题讨论】:
标签: ios uitableview swift