UIDocument 打开填充 TableView
UIDocument Opening to populate TableView
我在 Swift 中使用 DocumentBrowserViewController 将文档呈现给 ViewController。在 ViewController 我有一个 tableView 来显示文档中的一些数据。当 ViewController 出现时,它想先初始化 tableView。 tableView 的设置(例如:func TableView: nbrOfRowsInSection)由文档中的数据设置。由于文档尚未读取,因此失败。
我在 ViewWillAppear 中有 document.open,我认为它会首先执行。
有没有办法改变这个顺序?
方法viewWillAppear
不先执行,第一个是viewDidLoad
。根据您初始化 ViewController 的方式,它也可以是 awakeFromNib
。
但它仍然不应该失败,只需做类似这样的事情:
var dataFromDocument: SomeData {
didSet {
tableView.reloadData()
}
}
final public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataFromDocument.size
}
然后就可以读取数据,设置dataFromDocument
文件读取完成
我在 Swift 中使用 DocumentBrowserViewController 将文档呈现给 ViewController。在 ViewController 我有一个 tableView 来显示文档中的一些数据。当 ViewController 出现时,它想先初始化 tableView。 tableView 的设置(例如:func TableView: nbrOfRowsInSection)由文档中的数据设置。由于文档尚未读取,因此失败。
我在 ViewWillAppear 中有 document.open,我认为它会首先执行。
有没有办法改变这个顺序?
方法viewWillAppear
不先执行,第一个是viewDidLoad
。根据您初始化 ViewController 的方式,它也可以是 awakeFromNib
。
但它仍然不应该失败,只需做类似这样的事情:
var dataFromDocument: SomeData {
didSet {
tableView.reloadData()
}
}
final public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataFromDocument.size
}
然后就可以读取数据,设置dataFromDocument
文件读取完成