我有一个父视图UIViewController(在故事板上),一个带有.xib的TableViewController和带有.xib的TableViewCell。我正在尝试将DataSource连接到TableView,但是它给了我一个错误:
“TableView1”与协议“UITableViewDataSource”的冗余一致性
'TableView1'继承了来自超类的协议'UITableViewDataSource'的一致性。
如果不在类附近添加dataSource并将其作为class TableView1: UITableViewController {..
尝试,它不会给我任何错误,在模拟器中,当我向下滚动时,我可以看到表视图错觉。
但是,当我尝试添加dataSource时,它给了我这些错误。
我设置它的路径......:
Globals
class TableView1: UITableViewController, UITableViewDataSource {
错误在这里..
@IBOutlet var GlobalsTableView: UITableView!
var results: [AnyObject]? = []
override func viewDidLoad() {
super.viewDidLoad()
print("A")
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return self.results?.count ?? 0
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! DogTableViewCell
return cell
}
}
请注意,在TableView1.xib中,我无法选择TableView1
作为自定义类 - >类(但我不认为这是必要的)。
当一个类继承自UITableViewController
时,它默认符合UITableViewDataSource
和UITableViewDelegate
,您无需明确指定它。
只有当你在UITableViewDataSource
中嵌入UITableViewDelegate
时才需要符合UITableView
和UIViewController
。
你班上至少有2个构象。您只需要延长一次。
第一种情景:
您在类描述和扩展中符合。删除班级说明中的“我的代表”。
class MyViewController: MyDelegate{
//class functions here
}
extension MyViewController: MyDelegate{
func1()
}
第二种情景:
你符合两个扩展。
extension MyViewController: MyDelegate{
func1()
}
extension MyViewController: MyDelegate{
func2()
}
将它们合并为一个扩展名,如:
extension MyViewController: MyDelegate{
func1()
func2()
}