我正在尝试投射我自己的自定义单元格,但似乎没有工作,我是IOS的新手和快速开发...从教程我看它工作正常但是当我尝试时,它给了我一个错误。
这是代码。
class UsersViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
@IBOutlet weak var resultTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let height = view.frame.height
let width = view.frame.width
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 120
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : ResultCell = UITableView.dequeueReusableCellWithIdentifier("userCell") as ResultCell
return cell
}
func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
}
// Deactivate the return button
override func viewWillAppear(animated: Bool) {
self.navigationItem.hidesBackButton = true
}
}
这是我创建的单元格
class ResultCell: UITableViewCell {
@IBOutlet weak var ContactprofilePic: UIImageView!
@IBOutlet weak var contactUserName: UILabel!
@IBOutlet weak var contactStatus: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
let aWidth = UIScreen.mainScreen().bounds.width
contentView.frame = CGRectMake(0, 0, aWidth, 120)
ContactprofilePic.center = CGPointMake(60, 60)
ContactprofilePic.layer.cornerRadius = ContactprofilePic.frame.size.width/2
ContactprofilePic.clipsToBounds = true
contactUserName.center = CGPointMake(230, 55)
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
然后我收到此错误
(String) - > AnyObject&#39?;不能转换为' ResultCell'
答案 0 :(得分:5)
UITableView.dequeueReusableCellWithIdentifier(...)
应该是
tableView.dequeueReusableCellWithIdentifier(...)
dequeueReusableCellWithIdentifier()
是一个实例方法,必须
在作为第一个传递的tableView
实例上调用
cellForRowAtIndexPath
方法的参数。
实际上是表达式
UITableView.dequeueReusableCellWithIdentifier
有效,如http://oleb.net/blog/2014/07/swift-instance-methods-curried-functions/中所述。这个表达式的值是a
的“咖喱功能”(UITableView) -> (String) -> AnyObject?
这很可能不是你打算做的,但解释了 错误消息
(String) -> AnyObject?' is not convertible to 'ResultCell'