我只是想在我设置的Smiles数组中显示名称的tableview。我需要申报我的小组课程" ClubCell"为了扩展到UITableViewCell,我将如何做到这一点?
class SmileClub: UITableViewController {
var Smiles: [String] = ["Price Garrett", "Michael Bishop", "Tom Kollross", "Cody Crawford", "Ethan Bernath", "Alex Mlynarz", "Ryan Murphy", "Kelly Murphy", "Ryan Roshan", "Sean Ko"]
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> ClubCell
{
let cell: ClubCell = tableView.dequeueReusableCellWithIdentifier("ClubCell") as! ClubCell!
cell.Name.text = self.Smiles[indexPath.row] as String
return cell
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.Smiles.count
}
答案 0 :(得分:2)
cellForRowAtIndexPath
方法的返回值必须为UITableViewCell
,而不是ClubCell
。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell: ClubCell = tableView.dequeueReusableCellWithIdentifier("ClubCell") as! ClubCell!
cell.Name.text = self.Smiles[indexPath.row] as String
return cell
}
并确保您的ClubCell
课程延伸UITableViewCell
。
应该是:
class ClubCell : UITableViewCell
答案 1 :(得分:0)
您的ClubCell
是UITableViewCell的子类,它应该如下所示:
class ClubCell:UITableViewCell
{
@IBOutlet weak var Name:UILabel!
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("ClubCell",forIndexPath:indexPath) as! ClubCell
cell.Name.text = self.Smiles[indexPath.row]
return cell
}
在这一行中cell.Name.text = self.Smiles[indexPath.row] as String
无需向下转换为String,因为您的静态数组已经进入String,因此将其更改为cell.Name.text = self.Smiles[indexPath.row]