我想将UITableView单元格的内容保存在一个单独的文件中,就像在Objective-c中一样,即使在我的TodayExtension Swift表格中也是如此,以便将它连接到故事板。然而,当我尝试这样做时,它抱怨它无法找到细胞的类别;这是我使用的功能:
override func tableView(tableView: UITableView,
cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
println(indexPath)
let cell = tableView.dequeueReusableCellWithIdentifier(
TableViewConstants.cellIdentifier,
forIndexPath: indexPath) as! TodayCell
let entry = busCollection[indexPath.row]
cell.bus=entry.bus
cell.destination=entry.destination;
return cell
}
todayCell是它报告找不到的另一个文件中的类:
import UIKit
class TodayCell: UITableViewCell {
@IBOutlet var bus: UILabel!
@IBOutlet var stopAddress: UILabel!
@IBOutlet var destination: UILabel!
}
导入文件,即使根据Swift文档不需要,也会在import语句中移动错误。
答案 0 :(得分:0)
<强>编程:强>
override func viewDidLoad() {
super.viewDidLoad()
tableView.registerClass(todayCell.self, forCellReuseIdentifier: "todayCell")
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("todayCell", forIndexPath: indexPath) as! todayCell
// Setup
return cell
}
这应该这样做。
<强>故事板:强>
如果您正在使用原型,那么您只需将原型类设置为todayCell
和标识符。当您在tableView.dequeueReusableCellWithIdentifier()
答案 1 :(得分:0)
我发现了问题:当我将新的TodayCell文件添加到项目中时,Xcode忘记将新的TodayCell文件添加到编译源列表中。一旦我手动完成它一切正常 - 我在MKStoreManager库中的错误列表中有一个有趣的恐怖之旅,但所有这些都在返回到最后一次提交时消失了。