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 回答