私はこのようなIBAction
作成しました:-(IBAction) buttonTapped:(id)sender;
とインタフェースビルダを使用してUIButton
にそれを接続し、問題は、私は、コンパイラは私に構文エラーになりますNSLog(@"%d",sender.tag);
ような何かを行うことができないということですタグのプロパティはタイプid
のオブジェクトには存在しませんが、NSLog(@"%@", sender);
のようなものをコンソールに表示すると、のタグ ...という情報が表示されます。送信者オブジェクトを介してUIButton
?が
Q
が
1
A
答えて
5
キャストしようとしましたsender
?たとえば、次のように
NSLog(@"%d", ((UIButton *)sender).tag);
2
あなたは、コンパイラはオブジェクトの種類(したがって、IDのタイプを)知らないので、それをキャストする必要がありますが、ランタイムは知っているだろう。
だから、それはに似ています:
NSLog(@"%d", [(UIButton*)sender tag]);
3
代わりの鋳造、それは多くの場合、ちょうどあなたの行動宣言でより具体的にクリーンなコードになり:
-(IBAction) buttonTapped:(UIButton*)sender;
あなたはUIButton、Uicontrolのを使用することができます、UIView、または必要とする任意のレベルの特異性。
+0
これは別のクールな答えです... – JAHelia
関連する問題
- 1. UIBarButtonItemがiPhoneアプリがクラッシュボタンが
- 2. がorg.hibernate.dialect.PostgreSQLDialectが
- 3. ライトニングアローが、雷が
- 4. がnetworkActivityIndicatorVisibleが
- 5. InvalidCastExceptionががUSERCODE
- 6. が、両方が
- 7. が型Facebook.FacebookClientが
- 8. エラーNoClassDefFoundErrorが/ ClassNotFoundExceptionが
- 9. D3が回線が
- 10. がAutowireサービスがHandlerInterceptorAdapter
- 11. んが、オーディオがAVCaptureMovieFileOutput
- 12. スキルが上がる
- 13. スクロールバーが上がる
- 14. DataReader.loadAsyncがunconsumedBufferLengthが0
- 15. がアップスライド機能が
- 16. 宝石therubyracerがlibv8が
- 17. MVC3 User.Identity.Nameがnull、Enironment.UserNameが
- 18. 表のスクロールバーが表がIE
- 19. が可能な重複が
- 20. pugiXMLが同じ親が
- 21. Reuest.InputStream.Lengthが0で、RequestTypeがGet
- 22. QTMakeが29.97でQTMakeTimeが
- 23. Javascriptが画像が配列
- 24. が
- 25. が
- 26. が
- 27. が
- 28. が
- 29. が
- 30. が
クール...ありがとうございました.... – JAHelia