在加载 App 之前 Swift 填充 UITableView

Posted

技术标签:

【中文标题】在加载 App 之前 Swift 填充 UITableView【英文标题】:Swift populate UITableView before App is loaded 【发布时间】:2017-06-20 10:43:09 【问题描述】:

有什么方法可以在 App 加载前将数据加载到 UITableView 中?

    有可能吗? 这是一个好习惯吗?

附:我想这样做是因为当第一次单击带有 TableView 的选项卡时 -> 数据加载大约需要 1-2 秒

【问题讨论】:

UITableView 是一个视图,在加载之前无法填充视图。 那么我可以在应用加载之前为 UITableView 准备数据吗? 取决于它是什么数据,你从哪里得到它以及有多少。您的问题中没有足够的信息让我们有效地回答 对不起,我的问题中缺少信息,数据来自领域数据库,没有那么多行 在应用加载之前你不能做任何事情。会执行什么?如果您的数据需要很长时间才能加载,那么您应该让 UI 显示它正在处理(某种活动指示器),然后在完成后显示实际数据。 【参考方案1】:

在加载之前,您无法访问和填充任何视图,并且只有在加载整个应用程序后才会这样做。 UITableViewUIView 的子类,因此在这种情况下也是如此。

“我想这样做是因为第一次单击带有 TableView 的选项卡时 -> 数据加载大约需要 1-2 秒。”

如果您从外部在线数据库中检索数据,您可以在应用启动时在内部加载数据:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 

稍后您可以通过任何有效的方式将数据传递到表视图,这样传递数据只需要时间,而不是检索它。但这一切都取决于您要检索的数据类型和数量。

【讨论】:

以上是关于在加载 App 之前 Swift 填充 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

如果在之前在 UITextField 上键入之前未“加载”,则 UITableViewCell 中的 UITextView 不会显示

我想通过在 Swift 中以编程方式将 UINavigationController 与 UITableViewController 嵌入 UITableViewController 这是 UITab

Swift app声音管理库 Chirp

我们如何为多个 UITab 使用相同的 WKWebView

Swift - 来自URLSession任务的TableView数据源

Swift - UIProgressView 对角填充