【问题标题】:Optimize WKInterfaceTable when loading data from NSURL?从 NSURL 加载数据时优化 WKInterfaceTable?
【发布时间】:2026-01-20 05:50:02
【问题描述】:

我从 Internet 从 NSURL 加载数据并通过 WKInterfaceTable 显示数据。我的表有大约 82 行,每行内都有文本。当我运行代码时,我的表格会逐行显示数据,大约需要 2 - 3 秒才能显示表格上的所有数据。 我有一个功能可以在用户按下一行时显示新的 WKInterface:

override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {

    self.pushControllerWithName("detail", context: nil)
}

但是我遇到了一个问题,如果我在我的表尚未加载所有数据时按下该行,我的应用程序将不会推送“详细信息”WKInterface。当我的表格显示所有数据时,我必须等待 2-3 秒,然后每个函数都可以正常工作。当我的表格显示数据时,如何调用函数推送详细信息 WKInterface?

【问题讨论】:

    标签: swift watchkit xcode-6.2 wkinterfacetable


    【解决方案1】:

    你可以把加载函数放在- (void)willActivate中。确保在情节提要上选中“加载时隐藏”。这将显示一个在您离开该方法之前不会消失的微调器。

    为了更好的用户体验,我建议显示一个模态WKInterfaceController,它会在信息加载时阻止用户界面。此外,尝试限制需要多少行。

    【讨论】:

      【解决方案2】:

      我使用 dispatch_assync 将 WKInterface 表上的加载数据移动到另一个线程,并且该方法工作正常。

      【讨论】: