Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 无法在Xcode中为UITableViewController设置自定义类_Swift_Xcode_Interface Builder - Fatal编程技术网

Swift 无法在Xcode中为UITableViewController设置自定义类

Swift 无法在Xcode中为UITableViewController设置自定义类,swift,xcode,interface-builder,Swift,Xcode,Interface Builder,Xcode不允许我将表视图的自定义类设置为以下类(当我在情节提要上设置它时,它不允许我,并且下拉列表中没有显示任何内容) 以下是我的表格视图控制器的swift文件 以下是我的故事板的图片: 谢谢。检查您的类是否至少有以下方法: // // MyCustomTableViewController.swift // Test Table // // Created by shadowsheep on 17/02/2018. // Copyright © 2018 shadowsheep.

Xcode不允许我将表视图的自定义类设置为以下类(当我在情节提要上设置它时,它不允许我,并且下拉列表中没有显示任何内容)

以下是我的表格视图控制器的swift文件

以下是我的故事板的图片:


谢谢。

检查您的类是否至少有以下方法:

//
//  MyCustomTableViewController.swift
//  Test Table
//
//  Created by shadowsheep on 17/02/2018.
//  Copyright © 2018 shadowsheep. All rights reserved.
//

import UIKit

class MyCustomTableViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }

}
使用这些基本存根,您应该能够访问控制器以获得UITableViewController

编辑 根据提供的新信息: 您必须选择UITableView控制器,而不是UITableView。选择UITableView控制器后,yoy将能够设置自定义控制器

您将看到您选择了正确的类,因为Identity Inspector上提供的浅灰色默认类是UITableViewController

您可以在下拉菜单中找到自定义控制器


在您提供的图片中,您选择了UITableView,而不是view控制器

无法将UITableView的自定义类设置为视图控制器


确保在情节提要中选择了视图控制器。单击视图控制器上方栏中的黄色图标。然后可以设置自定义类。

如果要在控制器上设置自定义类,则要选择的自定义类应该继承该控制器,在本例中为
UITableViewController

import UIKit

class ViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}
假设要将
ViewController
用作控制器自定义类,请将其父类设置为
UITableViewController

import UIKit

class ViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}
然后,您可以在inspector选项卡的自定义类下拉列表中看到
ViewController


您是使用Xcode向导创建的吗?Xcode向导是什么意思?我通过右键单击然后按new file,然后单击cocoa touch类来创建文件,并创建了文件Yep,在子类中您选择了UITableViewController吗?否,我选择了UITableViewControllerYes,输入错误。因此,如果您的类中有UITableViewDataSource协议类的所有必需方法。。。我不知道为什么你不能选择你的控制器…我这样做了,但是我得到了以下错误:由于未捕获的异常“nsInternalInconsistencException”而终止应用程序,原因:'-[UITableViewController loadView]实例化的视图控制器,标识符为“KonectionStableC”,来自故事板“Main”,但是没有获得UITableView。在您的Swift文件中,KonectionsTableVC没有声明tableView。打开序列图像板并控制从表视图拖动到KonectionStableC类内部。出现提示时,创建名为tableView的插座。这应该可以解决例外情况。