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 は以前のビルド構成をキャッシュしており、それらを引き続き使用していました。したがって、サーバーでインスタンスの不一致が発生していました。メソッド自体は正常に機能します。

解決策: これを参照として使用して、キャッシュと古いビルド ファイルをクリアしました: キャッシュを空にしてすべてのターゲットをクリーンアップする方法 Xcode 4

これが将来同じ問題を抱えている人に役立つことを願っています。

于 2013-07-03T17:22:43.780 に答える