在我的视图中加载我正在尝试设置从用户到安装的指针。这是我用户类的一部分。
然后我有这段代码来检查我是否设置了指针
PFInstallation *currentInstalation = [PFInstallation currentInstallation];
NSString *installationObjectId = currentInstalation.objectId;
if (![currentUser[@"installationString"] isEqual:installationObjectId]) {
NSLog(@"has not been set");
//******************
//THIS LINE THROWS THE ERROR
//********************
currentUser[@"installationString"] = installationObjectId;
}
它会出现此错误*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't use nil for keys or values on PFObject. Use NSNull for values.'
我没有设置为nil,这就是为什么我很困惑我只是想将setupString键设置为字符串
感谢您的帮助
答案 0 :(得分:3)
这是使用带有Parse对象的括号表示法的问题。不要使用currentUser[@"installationString"]
,而应使用以下内容:
[currentUser objectForKey:@"installationString"]
[currentUser setObject:installationObjectId forKey:@"installationString"];
此外,您还需要添加以下代码。目前的安装尚未保存。我建议在AppDelegate中执行此操作。
[currentInstallation saveInBackground];
答案 1 :(得分:0)
首先检查安装ID是否为null
if (installationString == null) {
}
else {
//save it like this
[currentInstallation saveInBackground];
}