我的核心数据实体有几个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开发的绿手,
但我希望有人来帮助我!
非常感谢!
答案 0 :(得分:0)
嘿,我自己找到了答案,在设置值的代码中我错过了一个重要的方法,
它应该是这样的:
all = (NSUInteger)[[self.superTypeEntity total] **intValue**];
以这种方式输出的值就可以了。