使用 currentUser 更新用户信息时解析错误
Posted
技术标签:
【中文标题】使用 currentUser 更新用户信息时解析错误【英文标题】:Parse error when updating user info with currentUser 【发布时间】:2015-12-20 14:11:40 【问题描述】:我正在尝试更新 [PFUser currentUser]
的自定义列 (@"matches"
) 但是我收到此错误:
PFKeychainStore failed to set object for key 'currentUser', with error: -34018
...使用此代码:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
PFUser *currentUser = [PFUser currentUser];
if (currentUser)
NSLog(@"there is a current user");
[currentUser setObject:matchesNumber.text forKey:@"matches"];
[currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
if (!error)
// The currentUser saved successfully.
else
// There was an error saving the currentUser.
];
else
[PFUser logInWithUsernameInBackground:[userDefaults objectForKey:@"pfuser"] password:[userDefaults objectForKey:@"pfpass"]
block:^(PFUser *user, NSError *error)
if (user)
NSLog(@"user logged in");
[user setObject:matchesNumber.text forKey:@"matches"];
[user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
if (!error)
// The currentUser saved successfully.
else
// There was an error saving the currentUser.
];
else
NSLog(@"login failed");
// The login failed. Check error to see why.
];
我认为冗余不会有什么坏处,我更新了我的 Parse SDK 以确保这不是问题,至于其他一些人,它是。我做错了什么?
【问题讨论】:
matchesNumber是什么对象?你为什么使用matchesNumber.text? @LonelyPenguin matchesNumber 是一个 UILabel。 @LonelyPenguin 也许将setObject
与字符串一起使用是不正确的……但我也尝试过使用setValue
,但我得到了同样的错误。
【参考方案1】:
这可能是 Parse 中的一个错误。看看能不能在本期找到相似之处:https://github.com/ParsePlatform/Parse-SDK-ios-OSX/issues/437
【讨论】:
我注意到,虽然发生了错误,但它不会影响 parse 时数据的存储,所以我暂时忽略这个问题。以上是关于使用 currentUser 更新用户信息时解析错误的主要内容,如果未能解决你的问题,请参考以下文章
更新用户个人资料照片不会使用 currentUser.photoUrl 更新它