如何在两个 TableView 之间传递数据?我有包含 2 个数组的 poet.plist
:name
和 biography
。当我运行应用程序时,第二个 TableView 是空的。第一个 TableView 应列出诗人,而第二个 TableView 应列出诗人的作品。
头等舱
class Poets
{
var poetName:String = ""
var poetImage:String = ""
var books=[Works]()
}
第二类:
class Works {
var nameWork = ""
var workPoet = ""
init(nameWork: String, workPoet: String) {
self.nameWork = nameWork
self.workPoet = workPoet
}
}
第一个 View Controller
let worksArray = booksDict[poet.poetName as String] as! NSArray
for work in worksArray {
let dictionaryFromArray = work as! NSDictionary
let workObject = Works(nameWork: dictionaryFromArray["nameWork"] as! String, workPoet: dictionaryFromArray["work"] as! String)
poet.books.append(workObject)
}
如何在带有诗人名字的 UITableViewController
和带有诗人作品的 UITableViewController
之间进行转换?
最佳答案
在第一个 View Controller 中
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// ShowPoetWorks is your segue identifier which you can set in storyboard
if segue.identifier == "ShowPoetWorks" {
var secondVC = segue.destinationViewController as? SecondViewController
secondVC.poetName = poetName
}
}
在第二个 View Controller 中
- 定义 2 个字段:
poetName
和workCount
覆盖函数 `tableView:numberOfRowsInSection
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return workCount }
- 在viewDidLoad中,根据poetName加载诗人作品,并调用
tableView.reloadData()
关于ios - 使用 plist 在 TableView 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018374/