0

我对 iOS 开发和 Parse 都很陌生。我正在浏览解析文档并尝试构建一个与我的项目相关的概念验证应用程序。 https://parse.com/docs/ios_guide#users-props/iOS

以下代码直接来自指南:

- (void)myMethod {
    PFUser *user = [PFUser user];
    user.username = @"my name";
    user.password = @"my pass";
    user.email = @"email@example.com";

    // other fields can be set just like with PFObject
    [user setObject:@"415-392-0202" forKey:@"phone"];

    [user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
      if (!error) {
          // Hooray! Let them use the app now.
      } else {
          NSString *errorString = [[error userInfo] objectForKey:@"error"];
          // Show the errorString somewhere and let the user try again.
      }
    }];
}

我已将此方法集成到我的应用程序中并运行它会引发以下异常:

-[PFObject setIsCurrentUser:]: unrecognized selector sent to instance 0x8b63be0
2013-07-02 21:50:00.147 signuptest[58478:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PFObject setIsCurrentUser:]: unrecognized selector sent to instance 0x8b63be0

我希望对 Parse 更熟悉的人可以在这里为我指明正确的方向。我已经挖掘了 api,但在任何地方都没有看到 PFObject 的 setIsCurrentUser: 方法。

我的最终目标是基本上创建 PFUser 对象并使用上述方法将其保存在 Parse 数据库中。有谁知道为什么会抛出这个异常?如果需要,我可以提供我的测试应用程序的完整代码。

4

1 回答 1

1

所以我终于弄清楚了问题所在。以前在同一个项目中,我PFUser使用MyUser对象类对对象进行了子类化,并使用 parse 注册了该子类。后来我删除了子类并恢复到PFUser我的应用程序的原始对象。但是 XCode 已经缓存了以前的构建配置并继续使用它们。因此,我在服务器上遇到了实例不匹配。该方法本身工作正常。

解决方案:清除缓存和使用此作为参考的任何旧构建文件: How to Empty Caches and Clean All Targets Xcode 4

我希望这将有助于将来遇到同样问题的任何人。

于 2013-07-03T17:22:43.780 回答