我在网上看过每一个答案,但它总是给出错误。我知道这可能是重复,但解决方法对我不起作用。
我已将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”类型

最佳答案

假设“detailViewController”是指“DetailTableViewController”类,那么问题完全在于命名约定。您所做的是尝试将源视图控制器分配给一个变量(或常量,这无关紧要)“DetailTableViewController”,它已经是您的类的名称。这是不允许的。
您需要将变量命名为其他名称。约定是让类以大写字母开头,实例以小写字母开头,您应该遵守这一点,因为这样有助于防止将来发生此类事情。
也就是说,下面这些应该对你有用。注意唯一的区别是变量开头的“d”是小写而不是大写。

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

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

10-12 20:36