如何在XCode4.2的调试器中监视变量

时间:2012-01-15 05:42:42

标签: xcode debugging core-data integer surveillance

我的核心数据实体有几个int16属性,我想在调试过程中监视它们

但我遇到了一些麻烦。

首先,我想调查名为“order”和“total”的属性,两者都是整数16

这是我的调试代码。

NSArray *expenseTypes = [self.managedObjectContext executeFetchRequest:request error:&error];
NSLog(@"expenseTypes: %d",[expenseTypes count]);
i = 1;
for (ExpenseType *one in expenseTypes)
    NSLog(@"..%d : %@ : %d",i++,[one name],[[one order] intValue]);

并且打印出的值应该是一些非常常见的小的非负整数,如0,1,2,3等。

但在调试器中它结果是这样的:

enter image description here

忘记这些奇怪的名字(两个冒号之间的人),但整数结果非常荒谬,

有些数字只是我想要的,但其他数字似乎是随机的,

这是我设置这些integer16属性的代码:

NSUInteger all;
all = (NSUInteger)[self.superTypeEntity total];
[newManagedObject setValue:[NSNumber numberWithUnsignedInt:all]
                        forKey:@"order"];

我认为问题不在于这些代码。

整数16个属性是NSNumber的实例,所以我使用(“%d”,[xx intValue])

它有什么问题吗?

我总是很难监视XCode中的一些变量,特别是一些核心数据,每次我必须在下面的位置搜索它们,所有的变量都以指针的格式显示,我几乎无法查看是否存在字符串,或整数是我想要的或不是。

enter image description here

对不起我的愚蠢问题,因为我是IOS开发的绿手,

但我希望有人来帮助我!

非常感谢!

1 个答案:

答案 0 :(得分:0)

嘿,我自己找到了答案,在设置值的代码中我错过了一个重要的方法,

它应该是这样的:

all = (NSUInteger)[[self.superTypeEntity total] **intValue**];

以这种方式输出的值就可以了。