SWIFT:使用未声明类型的“detailViewController”

时间:2015-02-18 02:46:27

标签: uitableview swift types undeclared-identifier

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

  • 我已将detailViewController设为公共类
  • 我已将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"

1 个答案:

答案 0 :(得分:2)

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

您需要将变量命名为其他内容。惯例是让类以大写字母开头,并以小写字母开头,你应该坚持,因为它有助于防止将来发生这种事情。

那就是说,以下内容对您有用。请注意,唯一的区别是变量开头的“d”是小写而不是大写。

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