2013-06-24 62 views
2

我有一个叫做position的属性,我试图用self.position访问它。为什么我不能在调试器中打印这个变量的值?

我得到:

(gdb) po self.position 
There is no member named position. 

但我把我的断点在在以下块循环。它肯定有一个值:

- (IBAction)backFiftyWords:(UIButton *)sender { 
    self.position = @([self.position intValue] - 50); 

    NSString *wordsToBeShown = @""; 

    for (int i = 0; i < [self.numberOfWordsShown intValue]; i++) { 

这是一个NSNumber。

+0

不管它的价值,GDB在Xcode被弃用,取而代之的LLDB的。你有使用GDB的原因吗? –

+0

http://www.tuaw.com/2013/06/05/devjuice-10-8-4-and-the-ios-simulator/ –

+2

'po [self position]'工作吗? –

回答

2

您应该使用

po [self position] 

点语法不GDB很好地工作。升级到LLDB/LLVM也是一个好主意。

你还可以:

NSLog(@"%@", self.position); 

在你的代码。或者创建一个断点并对其进行编辑,添加这是一个表达式:

expr (void)NSLog(@"%@", self.position) 

请参阅此链接的详细信息:http://www.raywenderlich.com/28289/debugging-ios-apps-in-xcode-4-5

相关问题