【问题标题】:How to get data from dashboard to table view controller如何从仪表板获取数据到表视图控制器
【发布时间】:2017-12-20 07:49:46
【问题描述】:


我想将数据从服务器传递到我的表格视图。在上面的示例中,有三个屏幕。我将从 QR 码获得的信息传递到我的最后一个屏幕。我将两个输入字段中的信息发送到服务器。如何将数据从我的服务器传递到表格视图?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请展示您解决此问题的最新非工作尝试。通常,查看代码的修复比阅读其他人的解决方案更有指导意义。见stackoverflow.com/help/how-to-ask

标签: ios iphone swift xcode


【解决方案1】:

有很多方法可以做到这一点。首先,您必须向您的服务器发出请求。您可以使用像 Alamofire 这样的第三方库,也可以使用内置框架。

然后您需要将该数据传递给您的其他视图控制器。

假设您的第二个视图控制器类是这样定义的。

class SecondViewController: UITableViewController {
    var myData: [String] = [String]()

    //...

然后您可以使用以下代码显示视图控制器。

//Display view controller
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let secondViewController: SecondViewController = mainStoryboard.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
secondViewController.myData = myData

self.present(secondViewController, animated: false, completion: nil)

注意secondViewController.myData = myDatamyData 传递到第二个视图控制器,以便您可以在该范围内使用它。

然后在您的表视图控制器的viewDidLoad 中,您可以从myData 读取数据并相应地显示它。

您可能需要根据您从服务器获取的数据类型更改SecondViewControllermyData 的类型。

【讨论】:

  • 不要在 UserDefaults 中存储数据,这不是为了这个。最重要的是,如果目标是在视图之间传递数据,则不要在 UserDefaults 中存储任何内容,这将是无稽之谈。为此使用 RAM,而不是存储...
  • @Moritz 你是对的。我在考虑过去的项目,由于各种原因,我们确实希望稍后存储数据。当我回到我的电脑时,我会编辑得更清楚。
  • 好。让我们避免给初学者坏主意。 ;)
  • @Moritz 仅供参考,在我编辑任何提示之前,如果用户想为该视图存储数据以用于长期目的,除了 UserDefaults 之外还可以使用什么?可能是核心数据?
  • 我觉得不错。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2017-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多