0

我的核心数据实体有一些 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 等。

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

在此处输入图像描述

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

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

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

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

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

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

有什么问题吗?

我总是很难在 XCode 中监视一些变量,尤其是一些核心数据,每次我必须在下面的地方搜索它们并且所有变量都以指针的格式显示,我几乎无法检查是否是字符串,或者一个整数是我想要与否。

在此处输入图像描述

抱歉我的愚蠢问题,因为我是IOS开发的新手,

但我希望有人来帮助我!

非常感谢!

4

1 回答 1

0

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

它应该是这样的:

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

这样打印出来的值就可以了。

于 2012-01-16T04:44:49.947 回答