3 ExtendablePalletViewクラスの課題
今回用意したExtendablePalletViewクラスは、PalletやUITapGestureRecognizerを公開した事によって、すぐに他のアプリでも利用できるようになっています。
ただ、このようにPalletやUITapGestureRecognizerをそのまま公開してしまうのは、それだけ自らに制限をかける事でもあります。
3.1 ふたたび公開か非公開か
自分の持つオブジェクトを公開するか、非公開にするかの判断は、ExtendablePalletViewクラスをどのように発展させていく予定なのかによって変わります。
UITapGestureRecognizerを公開せず、ExtendablePalletViewが提供するメソッドでターゲットアクションを設定してもらうようにしておけば、後々UITapGestureRecognizerの使用をやめて、ExtendablePalletView自身が-touchesBegan:withEvent:や-touchesMoved:withEvent:メソッドをオーバーライドし、タッチされた位置に反応して処理するようにした場合でも、使う側は影響を受けずに済むからです。
具体例としてExtendablePalletViewにUIApplicationの-sendAction:to:from:forEvent:を使って、UITapGestureRecognizerを隠蔽する例をここに示しておきます。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録