0

nameというプロパティのみを持つPersonクラスがあります。デバッグ時にプロパティ値をリストしたいのですが、xcodeは「isa」と表示するだけです。Eclipseのようにするにはどうすればよいですか?

Xcode:

日食:

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

4

2 に答える 2

3

内部的には、メソッドを使用してプロパティにアクセスします。という名前のプロパティは、 メソッドnameを使用して読み取ることができ、nameメソッドを使用して設定できますsetName:。デバッガーのpoコマンドを使用して、オブジェクトの説明を出力できます。デバッガー コンソールで次のように入力してみてください。

po [p name]

このpoコマンドはdebugDescription、出力するオブジェクトにメッセージを送信することで機能し、デフォルトではメッセージdebugDescriptionを送信するだけdescriptionです。Personしたがって、このメソッドをクラスに追加できます。

- (NSString *)description {
    return [NSString stringWithFormat:@"<%@: %p name=%@>", self.class, self, self.name];
}

次に、次のようなデバッガー コマンドを使用できます。

po p

次のような出力を取得します。

<Person: 0x10013fd60 name=Jack>
于 2012-07-17T04:55:11.173 に答える
1

ロブの投稿が機能しない場合は、コンソールに bt (バックトレース用) と入力してみます

于 2012-07-17T05:03:37.657 に答える