2016-12-03 11 views
0

WatchAppはiPhoneからデータを受信します。WKInterfaceLabelのテキストが更新されない理由

受信したデータでラベルテキストをリフレッシュしても、何も起こりません。UIはリフレッシュされません。

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

どのような考えも大歓迎です。

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

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

のようなメソッドを使用してを使用して、メインスレッドからUIオブジェクトを呼び出すために覚えていると私は-willActivate内のsetText文を置けばそれだけで動作します良い – Guy

答えて

0

あなたは正しく

[*your session* updateApplicationContext:*your dictionary* error:nil]; 

を使用していますか?

上記のdidReceiveApplicationContextコードの中にNSLogを入れて、何かを印刷しているかどうか確認してください。

+0

おかげで、私はあきらめて、ある時点で再び取り組むだろう、より優先順位の高いものがあった – Guy

0

私の場合、UIをリフレッシュしようとすると、コンセントの参照がnilであることがわかりました。この問題は、同じWKInterfaceControllerクラスに属する、ストーリーボード上の2つのインターフェイスによって発生していました。 2番目の画面インターフェイスを別のWKInterfaceControllerクラスに割り当てたところ、うまくいきました。

enter image description here

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

またはperformSelectorOnMainThread: withObject: waitUntilDone:

関連する問題