使用 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 更新用户信息时解析错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 解析当前用户获取不起作用

更新用户个人资料照片不会使用 currentUser.photoUrl 更新它

解析 PFUser.currentUser 返回 nil - Swift

如何更新用户资料

解析错误代码 206:无法修改用户(解析服务器)

如何知道解析服务器中的 currentUser