ios - tableview 自定义单元格 : use of undeclared type

标签 ios uitableview swift

我正在为 tableview 设置自定义单元格,除了一些烦人的错误外,它几乎可以正常工作。所以我在 Storyboard中设置了一个原型(prototype)单元格,标识符为:RankingCell 和类:RankingCell。

我设置了一个非常基本的类文件:RankingCell.swift

import Foundation
import UIKit


 class RankingCell: UITableViewCell {
    @IBOutlet var firstName: UILabel!
    @IBOutlet var lastName: UILabel!
}

导出已正确链接到自定义单元格内的字段。 现在这是 View Controller 文件:

class RankingViewController: UIViewController, UITableViewDelegate {

    var testArray = ["Ben", "rob"]
    var testArray2 = ["mel", "duval"]


    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 2
    }

     func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {

        let cell = tableView.dequeueReusableCellWithIdentifier("RankingCell") as RankingCell //Error I here

        cell.firstName.text = testArray[indexPath.row]
        cell.lastName.text = testArray2[indexPath.row]

        return cell
    }

    override func viewDidLoad() {
    super.viewDidLoad()
    tableView.reloadData() //Error II here


    }

}

编译器概述的错误是“使用未声明的类型‘RankingCell’”。奇怪的是,当我编译时,它编译没有问题,甚至在单元格中显示正确的数据。我仍然更愿意正确地做事并摆脱概述的错误。

第二个错误出现在viewdidload中。我简化了示例中的代码,但我从后端提取数据,一旦获得数据,我需要重新加载表,因此我将 tableView.reloadData() 放在其中,这会触发错误:“(UITableView, numberOfRowsInSection: Int) -> Int' 没有名为 'reloadData' 的成员”。因此我不能用适当的数据重新加载表。也许您知道如何从 viewdidload 正确地重新加载数据?

请 swift 回答。

最佳答案

好的,我终于解决了问题:

第一个未声明类型的错误……我花了好几个小时……我所需要的只是重新启动 xcode。当我读到有类似问题的人时,我简直不敢相信。 错误在 xcode 中显示为红色,但项目仍然可以无错误地构建和运行这一事实是可疑的......而且 xcode 中那部分代码的颜色是错误的......无论如何有些东西已经损坏并且重新启动 xcode 修复它。

第二个错误,重新加载 TableView : 我只是为tableview创建了一个iboutlet,然后在后端工作后在viewdidload中调用它来检索数据。同样,我无法按 ctrl+将 tableview 从 stroyboard 拖动到文件中,这是一个损坏:我必须键入 socket ,然后链接它并且它起作用,而不是相反。因此,我没有调用 tableView.reloadData(),而是调用了 userFriendsTableView.reloadData(),userFriendsTableView 是自定义导出的名称,现在一切正常。

关于ios - tableview 自定义单元格 : use of undeclared type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150154/

相关文章:

ios - 以编程方式使用大小类

ios - 如何阻止 reloadData 移动 TableView

ios - 我应该使用什么,UITableView 或 UICollectionView?

ios - 基于 UITableView Edit 重新排序 NSArray

swift - SceneKit – SCNAction 和 CABasicAnimation 有什么区别?

ios - 基于Notification有效负载快速显示Viewcontroller

ios - 在 Swift 中使用 Hashable 扩展 @objc 协议(protocol)

ios - 在 objective-c 中调用函数时传递参数

ios - 检测底层 UITableViewCell 上的触摸并点击 UITextview 的属性文本

ios - 如何将 scrollView 中的图像发送到 "detailViewController"?