我有一个变量int,我想将其保存到PFObject
。每当我尝试时,我都会收到错误:
incompatible integer to point value from int to id.
我可以通过添加一个不在变量中的普通int。
PFObject* object = [PFObject objectwithclassname:@"test"];
object[@"score"] = @30;
这很好用,我也可以添加一个字符串,它会起作用。当我尝试这个时它不起作用。
int test = 10;
object[@"score"] = test;
有人知道吗?
答案 0 :(得分:14)
语法为:
object[@"score"] = @(test);
答案 1 :(得分:1)
int类型的变量是no(Objective-C)对象。您使用键控订阅协议进行分配。它只需要对象。基本上这样做了:
[object setObject:test forKeyedSubscript:@"score"]; // Error: test is no object
所以解决方案是将非对象类型的int放入一个对象(装箱)。您可以使用rmaddy的解决方案(盒装表达式)或更明确的方式来更好地理解:
object[@"score"] = [NSNumber numberWithInt:test];