2
任何人都知道怎麼回事就在這裏:LLDB錯誤:使用未聲明的標識符
@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
?
這是一個新穎的鏗鏘聲功能;這是完全合法的,非常好。請參閱:http://stackoverflow.com/questions/10407848/is-this-a-new-way-to-define-private-instance-variables-in-objective-c/10407891#10407891 – 2012-07-15 04:55:41
整潔。我想我可以在iOS上使用它,但不適用於較舊的Mac開發。 :)無論如何,我懷疑它可能仍然是調試工具無法看到該字段的原因。 – 2012-07-15 05:00:59
是的,lldb似乎仍然與ivars有一些艱難時期。我在這裏發佈了一個答案(現在刪除)來解決這個問題 – 2012-07-15 05:07:56