0

通知から内部オブジェクトにアクセスしたい。キーAVSystemController_AudioVolumeChangeReasonNotificationParameterを取得する必要があります。

[送信者オブジェクト]を呼び出すと、この出力が得られます。しかし、私が電話すると

[[sender object] userInfo]

「認識されないセレクターがインスタンスに送信された」だけが表示されます。何故ですか?

NSLog(@ "%@"、[送信者オブジェクト])出力:

NSConcreteNotification0x157a30{名前=AVSystemController_SystemVolumeDidChangeNotification; オブジェクト=AVSystemController:0x1616c0; userInfo = {
    "AVSystemController_AudioCategoryNotificationParameter"="オーディオ/ビデオ";
    "AVSystemController_AudioVolumeChangeReasonNotificationParameter" = ExplicitVolumeChange;
    "AVSystemController_AudioVolumeNotificationParameter" = 1;
}}

userInfoにアクセスできない場合、NSLogの出力を取得して文字列検索を実行できますか?

4

1 に答える 1

1

NSLogからの出力は、実際には次の出力のようになります。

NSLog(@"%@", sender);

[送信者オブジェクト]を呼び出していてよろしいですか?

オブジェクトは、多くの場合、通知を投稿したオブジェクトです。あなたの場合、おそらくクラスAVSystemControllerを持つオブジェクトです

userinfoには、次のコマンドでアクセスできます。

[sender userInfo]

ぜひお試しください

NSLog(@"%@", [sender userInfo]);

ところで:音量ボタンの機能を他の機能(「写真を撮る」-アクションなど)にマップしようとすると、アプリは承認されません。念のため。

于 2010-10-03T12:52:24.917 に答える