Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 从NSURL加载数据时优化WKInterfaceTable?_Swift_Watchkit_Xcode 6.2_Wkinterfacetable - Fatal编程技术网

Swift 从NSURL加载数据时优化WKInterfaceTable?

Swift 从NSURL加载数据时优化WKInterfaceTable?,swift,watchkit,xcode-6.2,wkinterfacetable,Swift,Watchkit,Xcode 6.2,Wkinterfacetable,我从互联网加载来自NSURL的数据,并通过WKInterfaceTable显示数据。我的表格大约有82行,每行中都有文本。当我运行代码时,我的表逐行显示数据,大约需要2-3秒来显示表中的所有数据。 当用户按一行时,我有一个显示新界面的功能: override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) { self.pushControllerWithName("detail", cont

我从互联网加载来自NSURL的数据,并通过WKInterfaceTable显示数据。我的表格大约有82行,每行中都有文本。当我运行代码时,我的表逐行显示数据,大约需要2-3秒来显示表中的所有数据。 当用户按一行时,我有一个显示新界面的功能:

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

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

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

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

为了获得更好的用户体验,我建议显示一个模式
WKInterfaceController
,在加载信息时阻止UI。另外,尽量限制需要的行数


我使用dispatch\u assync将WKInterface表上的加载数据移动到另一个线程,该方法工作正常