我是Swift的新手。我在swift中有一个简单的类
class ListItem: NSObject {
let itemName: String
var completed: Bool
init(itemName: String, completed: Bool = false)
{
self.itemName = itemName
self.completed = completed
}
}
当我在TableViewController中引用此类时,出现以下错误: “实例成员itemName不能在类型ListItem上使用”。
我的TableViewController代码(cellForRowAtIndexPath方法)如下所示。
let tempCell = tableView.dequeueReusableCellWithIdentifier("triggerCell")! as UITableViewCell
let listItem = listItems[indexPath.row]
// Downcast from UILabel? to UILabel
let cell = tempCell.textLabel as UILabel!
cell.text = ListItem.itemName
if (ListItem.completed)
{
tempCell.accessoryType = UITableViewCellAccessoryType.Checkmark;
}
else
{
tempCell.accessoryType = UITableViewCellAccessoryType.None;
}
return tempCell
}
我可能犯了一个基本错误,但我似乎无法确定我哪里出错了。
答案 0 :(得分:1)
您正在调用该类而不是您的实例。试试这个:
cell.text = listItem.itemName
if (listItem.completed)
etc...
编辑:更新listItems
。
let listItems = [ListItem("Viruses"), ListItem("Changes in weather"), etc...]