CocoStudioで深い階層にあるButtonとかを楽に取得するUtilつくった

CocoStudioで深い階層にあるButtonとかを楽に取得するUtil

ちゃんと動作確認してないから 再帰抜けられずに死ぬかもしれない。

元ネタ

CocoStudioで深い階層にあるButtonとかを楽に取得するUtilつくった - きょこみのーと

こちらはたぶん幅優先探索で実装されてると思う。深さ優先探索だった。何処で再帰終了させるかが違うだけで全然違うコードに見えた。

僕が触ってるのだと、末端のWidgetにnameが付いてる事が多いので深さ優先にした。

手元でキャストすると、コードの見た目的にキャストしていることが目立ってしまって、「getChildByNameで取得したものをTにdynamic_castする」みたいになってしまって好きではないので、「nameをTとして取得する」みたいに出来るinterfaceも用意した。

深さ優先探索とか幅優先探索とか、名前と実装は知ってるけど適切な用法を知らないからアルゴリズムヂカラ多少あったほうがいいと感じた。