UITableView未声明的类型Cell?

时间:2016-04-14 18:18:17

标签: ios swift uitableview

我有一个近乎工作的代码,但Xcode抱怨一行。由于我的项目中还有其他一些代码,我认为这并不重要。

我有这段代码:

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! SpecialCell
    let maindata = values[indexPath.row]
    cell.username.text = maindata["Username"] as? String
    cell.password.text = maindata["Password"] as? String
    cell.num.text = maindata["FavoriteNumber"] as? String
    cell.info.text = maindata["Info"] as? String
    return cell;
}

我收到以下错误:“使用未声明的类型'SpecialCell'”。 不幸的是,我不知道如何处理SpecialCell。我想这只是我忘记的小事。我用谷歌搜索超过一个小时,但我没有把它搞定。 如果我改变了上述行中的内容,那么我的所有cell.username ....语句都会变红。

我所做的就是创建一个新的表视图并将其链接到我的代码。所以我得到了这个

@IBOutlet weak var tableView: UITableView!

我是否需要更改或设置标识符或类似内容? 这个项目的想法是用JSON解析数据并将其写入该表。解析代码是这样的:

    func parseJson() {
    let url = NSURL(string: "http://an_url.com")
    let data = NSData(contentsOfURL: url!)
    values = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSArray
    tableView.reloadData()
}

但我认为这个特殊主题并不重要。 如果你有一些提示,那将是很棒的。

2 个答案:

答案 0 :(得分:0)

您可以声明像这样的自定义单元格

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "SpecialCell")

或者

self.tableView.registerClass(SpecialCell.classForCoder(), forCellReuseIdentifier: "SpecialCell") 

如果它是自定义单元格。告诉我们有关此SpecialCell的更多信息

答案 1 :(得分:0)

感谢您的提示。 随着我的进一步了解,我意识到,正如Andrew McKinley所说,SpecialCell是定制单元的定义。解决方案是创建一个类SpecialCell并在其中定义单元格。 有一次,我做到了这一点,我坚持了另一点。但那是另一个话题。

再次感谢。