ライブラリからIOSアプリのUIテキストラベルを更新する方法について、誰かがガイダンス/出発点を教えてくれますか?
アプリに接続されたライブラリ内の BT モジュールから温度データを受信しています。その整数データをアプリに送信し、UI テキスト ラベルを更新したいと考えています。
注: 私はライブラリに完全にアクセスできます。
どんな助けでも大歓迎です
ライブラリからIOSアプリのUIテキストラベルを更新する方法について、誰かがガイダンス/出発点を教えてくれますか?
アプリに接続されたライブラリ内の BT モジュールから温度データを受信しています。その整数データをアプリに送信し、UI テキスト ラベルを更新したいと考えています。
注: 私はライブラリに完全にアクセスできます。
どんな助けでも大歓迎です
あなたが求めているのは、Cocoa 静的ライブラリからアプリケーションにフィードバックを提供する方法だと思います。
クラスをご覧になることをお勧めしますNSNotificationCenter
。たとえばBTThermometer
、新しい測定を受信すると次のクラスが呼び出されるとします。
[[NSNotificationCenter defaultCenter] postNotificationName:@"com.my.BTThermometer.NewValue" object:self];
次に、アプリケーションで次のようなことができます。
[[NSNotificationCenter defaultCenter] addObserverForName:@"com.my.BTThermometer.NewValue" object:self queue:nil usingBlock:^(NSNotification* n) {
dispatch_async(dispatch_get_main_queue(), ^{
someLabel.text = ((BTThermometer*)n.object).temperatureValue;
}
}];
これは、アプリケーションをライブラリの内部動作から切り離すための iOS の標準メカニズムです。#define kMyTemperatureEvent @"com.my.BTThermometer.NewValue
唯一の結合は名前自体です。もちろん、コンパイラがタイプミスを検出できるように、通常は定数 ( など) を使用することをお勧めします。