2014-02-13 198 views
1

我有一个变量int,我想将其保存到PFObject。每当我尝试我得到的错误:将int变量保存为Parse对象

incompatible integer to point value from int to id. 

我可以通过添加一个不在变量中的正常int。

PFObject* object = [PFObject objectwithclassname:@"test"]; 
object[@"score"] = @30; 

这工作正常,也可以添加一个字符串,它会工作。当我尝试这种方式时,它不起作用。

int test = 10; 
object[@"score"] = test; 

有人知道吗?

回答

14

的语法是:

object[@"score"] = @(test); 
1

int类型的变量是没有(目标C)对象。您使用键控订阅协议进行分配。它只需要物体。基本上这是这样做的:

[object setObject:test forKeyedSubscript:@"score"]; // Error: test is no object 

所以解决的办法是把非对象类型int插入一个对象(装箱)。你可以用rmaddy的解决方案(盒装表达)来做到这一点,或者为了更好的理解,可以更加明确:

object[@"score"] = [NSNumber numberWithInt:test];