2

私は複数のUIViewを備えた高密度のiPhoneアプリに取り組んでいますが、その中でいくつかのファンキーなことが起こり、多くのビューがサブビューなどに追加されます。

デバッグの目的で、関連性があると思われる場所にブレークポイントを配置し、次にpoオブジェクトを配置します(例:

po [[self.view superview] subviews])このコマンドはいくつかの情報を提供しますが、UIViewの名前(デザイナーによって付けられた名前)は教えてくれません。UIViewまたはUIImageViewであることがわかります。 。

より洞察に満ちた情報を得るために、実行時にデバッガーで使用できる優れたコマンドを誰かが知っているかどうか尋ねると思いました。

私はpo[self.viewrecursiveDescription]も知っています。

ありがとう。

4

1 に答える 1

1

「デザイナーから付けられた名前」とは、Objective-Cの変数名のことですか?私はそれをする方法を知りません。

明らかに、コントロールの数値tagプロパティを設定できます(これは、IBと、プログラムで作成されたコントロールのコードの両方を介して設定できます)。NSLogステートメントとデバッガーはプロパティを表示しますtag。したがって、その方法でビューを識別できます。あまりユーザーフレンドリーではありません。ただし、テキスト名を表示したい場合は、数値タグと自分にとって意味のある説明的な名前の間に独自のマッピングを作成し、ビューを反復処理する独自のメソッドを作成して、タグを解読する必要があります。もっと意味のあるものを示すために。

ユーザー定義のランタイム属性を使って何かを行うこともできるようですが、それも多くのサブクラス化になると思います。

于 2012-11-24T19:52:34.160 に答える