obo*_*o20 35 xcode uitableview ios swift
我目前正在尝试使用xCode 6.3 swift 1.2创建自定义表格视图单元格.出于某种原因,在cellforRowAtIndexPath方法中,我似乎无法设置我的单元格变量.代码将编译,但是当这行代码命中时:
var cell:MessageCell = tableView.dequeueReusableCellWithIdentifier("messageCell") as! MessageCell
Run Code Online (Sandbox Code Playgroud)
我收到此错误:无法将'UITableViewCell'(0x1112f5a18)类型的值转换为'CampusExchange.MessageCell'(0x10e8318f0).
这是我的完整方法:(如果你想知道我是如何设置消息,我正在使用Parse)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:MessageCell = tableView.dequeueReusableCellWithIdentifier("messageCell") as! MessageCell
let message = messagesArray[indexPath.row]["Message"] as? String
cell.messageOutlet.text = message
return cell
}
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助.我似乎无法让这个工作.
Rod*_*nto 66
在这种情况下,您可以检查以下几项内容:
看看您的表是否与您的班级相关联,通常是 @IBOutlet weak var tableView: UITableView!
注册自定义表格视图单元格:self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
请注意,即使您的自定义单元格具有不同的类和ID,也使用"UITableViewCell"和标识符"单元格".
在cellForRowAtIndexPath中将您的单元格出列:let cell: MessageCell = self.tableView.dequeueReusableCellWithIdentifier("messageCell") as! MessageCell
现在使用正确的单元格标识符.
小智 40
在viewDidLoad()
方法中注册您的CustomCell :
self.tableView.register(CustomCell.self, forCellReuseIdentifier: "Cell")
Run Code Online (Sandbox Code Playgroud)
在viewDidLoad()中
// register custom table view cell from nib
self.tableView.registerNib(UINib(nibName: "MessageCell", bundle: nil), forCellReuseIdentifier: "messageCell")
Run Code Online (Sandbox Code Playgroud)
X代码9.4
与这里的流行解答不同,此解决方案使用自定义表格单元格解决了我的噩梦。如果您正在使用情节提要,并且所有内容均已正确连接,则不必在viewDidLoad中注册自定义tableView单元格。
从viewDidLoad中删除:
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
保持自定义单元类名称和单元 ID 相同:
self.tableView.register(CustomCell.self, forCellReuseIdentifier: "CustomCell")
Run Code Online (Sandbox Code Playgroud)
就我而言,我没有更改 UITableViewCell 类。最初它是 DetailsTableViewCell 类,但我删除并添加了名为 TableViewCellClass 的新类。但是我忘记在这里更改单元类名称。
所以再次检查并更改 TableViewCell 类名,请参见下面的屏幕截图
归档时间: |
|
查看次数: |
39873 次 |
最近记录: |