使用 plist 在 table 个视图之间传递数据
Passing data between table views using plist
如何在两个 table 视图之间传递数据?我有 poet.plist
和 2 个数组:name
和 biography
。当我 运行 应用程序时,第二个 table 视图是空的。第一个 table 视图应列出诗人,而第二个 table 视图应列出诗人的作品。
第一个class
class Poets
{
var poetName:String = ""
var poetImage:String = ""
var books=[Works]()
}
第二个Class:
class Works {
var nameWork = ""
var workPoet = ""
init(nameWork: String, workPoet: String) {
self.nameWork = nameWork
self.workPoet = workPoet
}
}
第一个视图控制器
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
?
在第一个视图控制器中
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
}
}
在第二个视图控制器中
- 定义 2 个字段:
poetName
和 workCount
覆盖函数`tableView:numberOfRowsInSection
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return workCount
}
- 在viewDidLoad中,根据poetName加载诗人作品并调用
tableView.reloadData()
如何在两个 table 视图之间传递数据?我有 poet.plist
和 2 个数组:name
和 biography
。当我 运行 应用程序时,第二个 table 视图是空的。第一个 table 视图应列出诗人,而第二个 table 视图应列出诗人的作品。
第一个class
class Poets
{
var poetName:String = ""
var poetImage:String = ""
var books=[Works]()
}
第二个Class:
class Works {
var nameWork = ""
var workPoet = ""
init(nameWork: String, workPoet: String) {
self.nameWork = nameWork
self.workPoet = workPoet
}
}
第一个视图控制器
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
?
在第一个视图控制器中
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
}
}
在第二个视图控制器中
- 定义 2 个字段:
poetName
和workCount
覆盖函数`tableView:numberOfRowsInSection
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return workCount }
- 在viewDidLoad中,根据poetName加载诗人作品并调用
tableView.reloadData()