2014-02-13 132 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];