在Swift中调用class时出错

时间:2016-04-02 03:17:58

标签: ios swift

我是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
}

我可能犯了一个基本错误,但我似乎无法确定我哪里出错了。

1 个答案:

答案 0 :(得分:1)

您正在调用该类而不是您的实例。试试这个:

cell.text = listItem.itemName

if (listItem.completed)
etc...

编辑:更新listItems

的创建
let listItems = [ListItem("Viruses"), ListItem("Changes in weather"), etc...]