0

ライブラリからIOSアプリのUIテキストラベルを更新する方法について、誰かがガイダンス/出発点を教えてくれますか?

アプリに接続されたライブラリ内の BT モジュールから温度データを受信して​​います。その整数データをアプリに送信し、UI テキスト ラベルを更新したいと考えています。

注: 私はライブラリに完全にアクセスできます。

どんな助けでも大歓迎です

4

1 に答える 1

0

あなたが求めているのは、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唯一の結合は名前自体です。もちろん、コンパイラがタイプミスを検出できるように、通常は定数 ( など) を使用することをお勧めします。

于 2013-06-07T08:45:29.890 に答える