XCode でデバッグすると、NSDictionary オブジェクトに 1 つのキーと値のペアが含まれていることがデバッガーから通知されます。デバッグ コンソールがキーと値のペアの説明を出力すると、次のように表示されます。
Printing description of testdictionary:
{
"Unknown (<1809>)" = <000000ff>;
}
<1809> と <000000ff> の両方を抽出したい。このサイトの他の場所で説明されているように、valueForKey メソッドと objectforKey メソッドの両方を試しました。しかし、ここで何が鍵で何が価値なのかを理解するのは難しいと思います。
たとえば"Unknown (<1809>)"
、キーですか?それとも"<1809>"
鍵ですか?それとも1809
鍵ですか?
返信ありがとうティム。
NSDictionary は、didDiscoverPeripheral: メソッドが呼び出される CoreBluetoothFramework から取得され、広告データを「advertisementData」と呼ばれる NSDictionary に渡します。
このディクショナリには、広告チャネルやデバイス名など、あらゆる種類の情報が含まれています。ただし、「advertisementData」から広告データのみを抽出しようとしています。次のように、corebluetooth「CBAdvertisementDataServiceDataKey」によって提供されるキーを使用しました。
NSData* information;
information = [advertisementData objectForKey:CBAdvertisementDataServiceDataKey];
以前は「情報」を NSDictionary* オブジェクトとして宣言していました。しかし、Applesのドキュメントをさらに読んだ後、それを NSData* に変更しました。結果は同じです。デバッガーは、次のようなキーと値のペアが含まれていることを示しています。
"Unknown (<1809>)" = <000000ff>;
再度、感謝します。
ニック