uitableview - SWIFT:使用未声明的类型 "detailViewController"

标签 uitableview swift types undeclared-identifier

我已经查看了互联网上的每个答案,但它一直给出错误。我知道这可能会重复,但解决方案对我不起作用。

  • 我已将 detailViewController 设为公共(public)类
  • 我添加了 detailViewController.swift 目标成员作为我的测试目标。

    import UIKit
    
     class MainTableViewController: UITableViewController {
    
     var items:[Item]=itemData
    
    @IBAction func cancelToDetailViewController(segue:UIStoryboardSegue){
    
     }
        @IBAction func saveItemDetail(segue:UIStoryboardSegue){
    let DetailTableViewController = segue.sourceViewController as DetailTableViewController;
    
    
     }
    

    错误提示使用了未声明类型的“detailViewController”

最佳答案

假设“detailViewController”是指您的“DetailTableViewController”类,那么问题完全在于您的命名约定。你正在做的是试图将你的源 View Controller 分配给一个变量(或常量,这无关紧要)“DetailTableViewController”,它已经是你的类的名称。这是不允许的。

您需要为变量命名。惯例是类以大写字母开头,实例以小写字母开头,您应该遵守这一点,因为这有助于防止此类事情在未来发生。

也就是说,以下内容应该适合您。请注意,唯一的区别是变量开头的“d”是小写而不是大写。

@IBAction func saveItemDetail(segue: UIStoryboardSegue) {
    let detailTableViewController = segue.sourceViewController as DetailTableViewController
}

关于uitableview - SWIFT:使用未声明的类型 "detailViewController",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28575099/

相关文章:

c++ - float 到双重误解???克++

c++ - 当我将 short 分配给 char 时会发生什么类型转换?

go - 如何为可以使用 len() 的东西编写 Go 类型约束?

ios - tableview 图像上的视差,使用自动布局

ios - 将 UITableView 分类为多个部分

swift - SwinjectStoryboard - 是否可以加载/注入(inject)其 ViewController 存在于另一个项目的不同框架中的 Storyboard?

ios - 将 Range<Int> 转换为 Range<String.Index>

iphone - 如何左右对齐表格单元格上的标签

ios - UITableViewCell 不显示 subview UITextView

swift - ARKit:遮挡平面上除引用图像之外的所有内容