如何在iOS中将数据保存到Parse后端?

时间:2014-03-12 16:40:07

标签: ios parse-platform

我正在尝试使用Parse为我的iPhone应用程序保存数据。当我保存静态的东西时,它工作正常。但是,当我尝试设置变量的值然后保存它时,我得到一个错误,说“使用ARC不允许将'int'隐式转换为'id'。”

如何解决此问题,以便将maxScore的值保存到Parse后端?

int maxScore = 500;
//Save round data to parse
PFObject *roundScore = [PFObject objectWithClassName:@"UserCoor"];
roundScore[@"UserLat"] = maxScore;
[roundScore saveInBackground];

2 个答案:

答案 0 :(得分:1)

正如错误所说,它需要一个指向Objective-C对象的指针,而不是一个对象,你需要传入一个基本类型(int)。您可能想要使用

NSNumber *maxScore = [NSNumber numberWithInt:500];

答案 1 :(得分:1)

问题在于您无法将int等基本类型传递给roundScore[@"UserLat"] = maxScore。这个带键的下标符号只是对setObject:(id)obj forKeyedSubscript:(id<NSCopying>)key的调用,正如您所看到的那样,将id类型的对象作为obj参数。

您可以使用文字NSNumber轻松地将您的int值插入@()(非原始类型)。像这样:

roundScore[@"UserLat"] = @(maxScore);