0

インターネットから NSURL からデータを読み込み、WKInterfaceTable でデータを表示します。私のテーブルには約82行あり、各行内にテキストがあります。コードを実行すると、テーブルに行ごとにデータが表示され、テーブルにすべてのデータが表示されるまでに約 2 ~ 3 秒かかります。ユーザーが行を押したときに新しい WKInterface を表示する機能があります。

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

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

テーブルがまだすべてのデータをロードしていないときに行を押すと、アプリケーションは「詳細」WKInterfaceをプッシュしません。テーブルにすべてのデータが表示されるまで 2 ~ 3 秒待たなければならず、その後はすべての機能が正常に動作します。テーブルにデータが表示されているときに、関数を呼び出して詳細 WKInterface をプッシュするにはどうすればよいですか?

4

2 に答える 2

0

にローディング機能を入れることができます- (void)willActivate。ストーリーボードで「ロード時に非表示にする」がチェックされていることを確認してください。これにより、メソッドを終了するまで消えないスピナーが表示されます。

WKInterfaceControllerユーザー エクスペリエンスを向上させるために、情報の読み込み中に UI をブロックするモーダルを表示することをお勧めします。また、必要な行数を制限するようにしてください。

ここに画像の説明を入力

于 2015-04-20T21:11:03.563 に答える
0

dispatch_assync を使用して WKInterface テーブルの読み込みデータを別のスレッドに移動すると、そのメソッドは正常に動作します。

于 2015-04-21T06:11:10.620 に答える