所以我有一个dataModel,它使用我的数据源类从plist中提取数组。在我的视图控制器中,我用
调用数据源类let dataSource = DataSource()
然后我用
从数组中获取值abilities = dataSource.ability[monster.ability! + 2]
我的问题是,当我从第二个Datasource
抓取Viewcontroller
时,在segue过渡期间会有2-4秒的延迟。如何在第二个viewcontroller
上传递数据源,这样我就可以读取值,而无需从第二个视图控制器中调用let dataSource = DataSource()
?
答案 0 :(得分:1)
有几种不同的方法可以处理从一个视图控制器到另一个视图控制器的传递信息。
但是对于您的场景,我建议您在第二个视图控制器中创建一个数组属性来保存您的数据源,但只能通过调用prepare(for segue: UIStoryboardSegue, sender: Any?)
方法从第一个视图控制器传递它。
以下是我将简单数据传递给另一个视图控制器的示例,几乎是Master-Detail设置:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationViewController = segue.destination as? DetailNoteViewController
if segue.identifier == "toNoteDetailView" {
guard let indexPath = tableView.indexPathForSelectedRow else { return }
let note = self.notes[indexPath.row]
destinationViewController?.note = note
}
}