0

WatchApp は iPhone からデータを受け取ります。

受信したデータでラベル テキストを更新しましたが、何も起こらず、UI が更新されません。

他のスレッドはそれをメインスレッドにプッシュすることを提案しましたが、それも何もしないようです。

どんな考えでも大歓迎です。

-(void)session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary *)applicationContext

{
    dispatch_async(dispatch_get_main_queue(), ^{
    [self.lblTitleBorH setText:@"test"];
    });
}
4

2 に答える 2

0

私の場合、UI を更新しようとすると、アウトレットの参照がnil. WKInterfaceControllerこの問題は、同じクラスに属するストーリーボード上の 2 つのインターフェイスが原因でした。2 番目の画面インターフェイスを別の WKInterfaceController クラスに割り当てたところ、問題なく動作しました。

ここに画像の説明を入力

を使用して、メイン スレッドから UI オブジェクトを呼び出すことを忘れないでください。

dispatch_async(dispatch_get_main_queue(), ^{
   ...
});

または次のような方法を使用してperformSelectorOnMainThread: withObject: waitUntilDone:

于 2017-12-22T09:45:52.543 に答える