Swift 无法在Xcode中为UITableViewController设置自定义类
Xcode不允许我将表视图的自定义类设置为以下类(当我在情节提要上设置它时,它不允许我,并且下拉列表中没有显示任何内容) 以下是我的表格视图控制器的swift文件 以下是我的故事板的图片: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.
谢谢。检查您的类是否至少有以下方法:
//
// 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的插座。这应该可以解决例外情况。