3

ここで何が起こっているのか誰でも知っています:

@implementation Test
{
    NSData *_data;
}

- (id)initWithData:(NSData *)data
{
    self = [super init];
    if (self)
    {
        _data = data;
    } 
    return self;  // BREAKPOINT HERE
}

lldb から:

(lldb) p data
(NSData *) $1 = 0x07f911e0 30308 bytes
(lldb) p _data
error: use of undeclared identifier '_data'
error: 1 errors parsing expression

表示できないのはなぜ_dataですか?

4

1 に答える 1

-1

@interfaceブロックで宣言されたデータ フィールドしか見たことがありません。でフィールドを定義しているよう@implementationです。

代わりにこれをヘッダーに入れてみてください。

@interface Test
{
    NSData *_data;
}
. . .
@end
于 2012-07-15T04:52:47.683 に答える