iPhoneの開発を始めたばかりObjective-C
です。
昨日、自分の視点で通知のためにObserverを追加しようとしましたが、次のエラーが発生し続けました。
認識されないセレクターがインスタンスに送信されました
セレクター引数に末尾のコロンを含める必要があるという事実まで追跡しました。
[[NSNotificationCenter defaultCenter] addObserver:selfセレクター:@selector(nameOfMySelector :) name:@ "BBLocationServicesAreDisabled" object:nil];
今日は、ボタンにアクション引数を設定するときに、昨日の間違いを思い出し、アクション引数にコロンを追加したので、賢いと思いました。@selector
のオブザーバーを設定するときのセレクター引数と同じように、アクション引数はを取りますNSNotification
。そのため、私は正しいことをしていると思いました。
ただし、次のコードを使用します。
[self.callToActionButton addTarget:self action:@selector(nameOfMySelector :) forControlEvents:UIControlEventTouchUpInside];
まったく同じエラーが発生します:
認識されないセレクターがインスタンスに送信されました
何が得られますか?なぜ一方@selector
は末尾のコロンを必要とし、もう一方は必要としないのですか?含める必要がある場合と除外する必要がある場合のルールは何ですか。また、常にどちらか一方を実行できないのはなぜですか。
ありがとう!