0

これは私を何度か悩ませてきました。

たとえば、カスタムサブビューをデバッグしています。

カスタムサブビューにあるサブビューのタイプを知りたいです。

私はタイプする:

(lldb) po self.subviews
error: property 'subviews' not found on object of type 'BGBaseOfAllUIView *'
error: 1 errors parsing expression
(lldb) 

自己が祖先としてUIViewを持ち、.subviewsプロパティをサポートしていることを考えると、これはばかげています。

私はタイプする

(lldb) po self
(BGDetailBusinessViewController *) $2 = 0x088d01f0 <BGDetailBusinessViewController: 0x88d01f0>

これは多くの情報ではありません。フレームが何であるか、物事がどこに行くのかについては説明していません。

いわゆる変数ビューも役に立ちません。

ここに画像の説明を入力してください

簡単な情報を知りたいとしましょう。self.subviewsとは何ですか?self.frameとは何ですか?

なぜこんなにシンプルなものを手に入れるのがとても難しいのですか?

そうする唯一の方法は、私の友人からコードを借りて追加することです

#define CLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define PO(x) CLog(@#x ": %@", x)

しかし、それはリアルタイムではありません。最初にプログラムを変更し、その単純な情報を取得するためだけに何かを挿入する必要があります。

私は何が欠けていますか?

4

1 に答える 1

1

あなたの質問でうめき声を上げないでください-人々は実際の質問にたどり着く前に「私が望むようには機能しません」をたくさん読む必要があります-それはあなたの欲求不満を発散するために私たちがここにいるものです。

最初に注意することはBGDetailBusinessViewController、ビューではなくviewControllerです。したがって、サブビューはありませんが、ビュー階層を管理します。ルートビューは、と呼ばれるivarになりますview

したがって、サブビューを取得するには、次のようなことを行う必要があります

po [self.view subviews]
于 2012-10-22T11:14:46.300 に答える