在我为它分配自定义 class 后,UITableViewController 上没有任何显示
Nothing appears on UITableViewController after I assign it a custom class
我有一个 swift 应用程序,目前只有一个视图 ('main view')。我想添加一个设置页面,所以我添加了一个 UITableViewController
并在主视图上制作了一个按钮,将此设置视图作为弹出窗口打开。到目前为止,一切都很好。然后我想为第二个视图添加自定义代码,所以我制作了一个名为 settingsViewController
的 cocoa touch class,它继承自 UITableViewController
,并将其分配为 'custom class' 用于设置视图。现在设置视图上什么也没有显示,我不知道为什么?!
如果我删除设置视图的自定义 class 规范,一切都会重新开始显示。
这里有什么问题?
我正在使用 Swift 2.2 和 Xcode 7.3.1
当 'custom class' 设置视图字段为空时:
当设置视图的 'custom class' 字段中提到 settingsViewController
时:
编辑:
这是我的 settingsViewController
class 的全部内容:
import UIKit
class settingsViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
}
您需要通过委托方法传递每个部分的总节数和行数。
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0 // This shouldn't be zero
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 // This shouldn't be zero
}
这些是数据源方法。您应该将它们分配给特定的数据源。
示例:
// This is the dataSource for now as an example
var dataList = [1,2,3,4,5,6,7]
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1 // We have a 1D array here only
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataList.count // Total no. of items in the array.
}
并且,这就是您如何设置节数和每个节中的行数的示例。通过将它们设置为零,它们很可能会成为空白部分和单元格。
Try putting them something else than ZERO and see for yourself.
亲切的问候,
苏曼·阿迪卡里
我有一个 swift 应用程序,目前只有一个视图 ('main view')。我想添加一个设置页面,所以我添加了一个 UITableViewController
并在主视图上制作了一个按钮,将此设置视图作为弹出窗口打开。到目前为止,一切都很好。然后我想为第二个视图添加自定义代码,所以我制作了一个名为 settingsViewController
的 cocoa touch class,它继承自 UITableViewController
,并将其分配为 'custom class' 用于设置视图。现在设置视图上什么也没有显示,我不知道为什么?!
如果我删除设置视图的自定义 class 规范,一切都会重新开始显示。
这里有什么问题?
我正在使用 Swift 2.2 和 Xcode 7.3.1
当 'custom class' 设置视图字段为空时:
当设置视图的 'custom class' 字段中提到 settingsViewController
时:
编辑:
这是我的 settingsViewController
class 的全部内容:
import UIKit
class settingsViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
}
您需要通过委托方法传递每个部分的总节数和行数。
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0 // This shouldn't be zero
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 // This shouldn't be zero
}
这些是数据源方法。您应该将它们分配给特定的数据源。
示例:
// This is the dataSource for now as an example
var dataList = [1,2,3,4,5,6,7]
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1 // We have a 1D array here only
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataList.count // Total no. of items in the array.
}
并且,这就是您如何设置节数和每个节中的行数的示例。通过将它们设置为零,它们很可能会成为空白部分和单元格。
Try putting them something else than ZERO and see for yourself.
亲切的问候,
苏曼·阿迪卡里