Objective-C来自实体属性的NSNumber值

时间:2013-03-31 10:03:04

标签: objective-c nsnumber

我成功地从一个实体中提取了一个数字。但是,如果我使用NSNnumber初始化该数字,则似乎生成一个随机数...

//This code works, and I can write the number to the NSLOG ok.
Misc_RandomNumber *rndNum = [fetchedObjects objectAtIndex:0];
NSLog(@"%@",rndNum.randomNumber); //Log will print the number 1

//From here, numberFound will result to a random number like 2064127
NSNumber *numberFound = [NSNumber numberWithInt:rndNum.randomNumber];
NSLog(@"%@",[numberFound stringValue]);

我只需要NSNumber中的数据库值,似乎无法得到它。

1 个答案:

答案 0 :(得分:1)

当您执行

时,第二句话会出错
NSNumber *numberFound = [NSNumber numberWithInt:rndNum.randomNumber];

在这种情况下,[NSNumber numberWithInt:rndNum.randomNumber];会返回randomNumber所在的地址,而不是它指向的值。相反,你应该使用:

NSNumber *numberFound = [NSNumber numberWithInt:[rndNum.randomNumber intValue]];