2

iPhoneのテキストメッセージアプリ(メッセージ)とまったく同じようにChatViewを作成したいと思います。私はそれをプログラムで行っており、キーボードでtextViewを上に移動しようとしています。UIKeyboardWillShowNotificationによって呼び出される関数でこれを実行したいと思います。このエラーのデバッグを手伝ってもらえますか?

ChatViewController.mで、loadView関数でUIKeyboardWillShowNotificationのリスナーを設定し、自分自身をtextViewデリゲートとして設定しましたが、次のようにクラッシュします:キャッチされない例外'NSInvalidArgumentException'、理由:'***-[ChatViewController KeyboardWillShow]:認識されないセレクターがインスタンスに送信されました

しかし、ChatViewController.mでkeyboardWillShowを定義します。なぜその関数が見つからないのですか?

重要なファイルは次のとおりです。

http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.h http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.m

クラッシュしないようにリスナーをコメントアウトしました。

お気軽にgitclonegit@github.com:acani / acani-chat.git

ありがとう!

4

1 に答える 1

2

コメントアウトした120行目と121行目ですが、通知をサブスクライブするための他の参照がないため、セレクターを渡すときに問題が発生することを意図しているわけではないと思います。Objective-Cメッセージ名のコロン(:)は、名前自体の一部です。したがって、渡すセレクターの末尾のコロンがありません。これを修正すると、エラーがなくなります。

removeObserver:また、ビューが消えたときにを呼び出すことを検討する必要があります(viewDidUnload)。

于 2010-07-19T04:47:26.830 に答える