SWIFT: 使用了 "detailViewController" 的未声明类型
SWIFT: use of undeclared type of "detailViewController"
我已经查看了互联网上的每个答案,但仍然出现错误。我知道这可能会重复,但解决方案对我不起作用。
- 我已经将 detailViewController 设为 public class
我添加了 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" class,问题完全在于您的命名约定。您正在做的是尝试将您的源视图控制器分配给一个变量(或常量,这无关紧要)"DetailTableViewController",它已经是您的 class 的名称。这是不允许的。
您需要为变量命名。惯例是 classes 以大写字母开头,实例以小写字母开头,您应该遵守这一点,因为这有助于防止此类事情在未来发生。
也就是说,以下内容应该适合您。请注意,唯一的区别是变量开头的 "d" 是小写而不是大写。
@IBAction func saveItemDetail(segue: UIStoryboardSegue) {
let detailTableViewController = segue.sourceViewController as DetailTableViewController
}
我已经查看了互联网上的每个答案,但仍然出现错误。我知道这可能会重复,但解决方案对我不起作用。
- 我已经将 detailViewController 设为 public class
我添加了 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" class,问题完全在于您的命名约定。您正在做的是尝试将您的源视图控制器分配给一个变量(或常量,这无关紧要)"DetailTableViewController",它已经是您的 class 的名称。这是不允许的。
您需要为变量命名。惯例是 classes 以大写字母开头,实例以小写字母开头,您应该遵守这一点,因为这有助于防止此类事情在未来发生。
也就是说,以下内容应该适合您。请注意,唯一的区别是变量开头的 "d" 是小写而不是大写。
@IBAction func saveItemDetail(segue: UIStoryboardSegue) {
let detailTableViewController = segue.sourceViewController as DetailTableViewController
}